2017-03-18 44 views
1

我想從服務器拉一個未知數量的列表,我有一個集合視圖,每個列表都有一個單元格/項目。每個單元格都有一個標籤,其中包含List的名稱。因爲我不知道該標籤將有多長,我做了細胞活力的大小,並設置我的UICollectionViewFlowLayout以下屬性:如何在物品具有動態尺寸時在集合視圖中顯示單個水平行項目?

flowLayout.estimatedItemSize = CGSize(width: 100, height: 100) 
flowLayout.minimumInteritemSpacing = 11 
flowLayout.minimumLineSpacing = 12 

細胞本身是優良的大小,我在標籤上使用的自動佈局所以細胞基於固有尺寸。但是我的問題是,我得到的不止是一行物品,或者我得到的單行滾動條遠遠超出我的物品,直到右側有空的空間。當我更改minimumInteritemSpacing的值時,我會得到這兩個結果。有更好的方法嗎?

我想要做的是有一個動態數量的「按鈕」或單元格(基於拉動的列表數量)和動態寬度(基於列表名稱)並在一行中水平滾動。 帶有列表名稱的每個單元格都會像一個按鈕,它在選中時使用List的屬性更新幾個字段。

+0

這聽起來像你想要做的是使集合視圖的單元格寬度與集合視圖的大小。這會給你一個垂直滾動列(或使用'UITableView')。然後,每個集合視圖單元格將包含一個「UIScrollview」,您可以在其中添加內容(即標籤)。這會給你基於列表名稱的水平滾動。 –

回答

0

您可以使用- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath方法來實現每個單元格的大小。

相關問題