2017-04-21 80 views
0

我在我的應用程序中有一個UICollectionView。我想限制它,所以它只在每個水平行上有兩個單元格。對於iPhone類我通過設置寬度來實現這一點,因此三個單元格不能放在同一水平行中。這似乎是一個修復,但我不知道如何調整iPad的單元格大小。我聽說過使用:如何調整大小的單元格swift

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize 

但我無法訪問此功能。 Swift不再支持這個功能嗎?

問題:我可以強制我的屏幕在每個水平行上只顯示2個單元嗎?

+0

這種方法確實還存在。但是你可以通過多種方式做到這一點。你現在如何設置尺寸?你能否包含該代碼? –

+0

該方法對Swift 3簽名錯誤。請參閱文檔以獲取正確的簽名。 – rmaddy

回答

0

你應該首先遵守協議UICollectionViewDelegateFlowLayout

,然後實現方法:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 
     return CGSize(width: collectionView.frame.size.width * 0.5, height: 30) 
    } 
+0

謝謝生病嘗試 – c3pNoah

+0

我得到錯誤「從類'UIViewController'和'UICollectionViewFlowLayout'的多個繼承」「 – c3pNoah

+0

沒關係。我意外地添加了「UICollectionViewFlowLayout」而不是「UICollectionViewDelegateFlowLayout」 – c3pNoah

相關問題