0
我創建了一個UICollectionView,其中有一個原型單元格。我想要每行2個單元格,並在較小的屏幕上運行它,這樣每行就有一個單元格。 單元之間的距離在更大的屏幕上增加。我只是在談論iPhone手機。CollectionView Cell Auto resizing
我想我必須通過以屏幕寬度爲2來劃分屏幕寬度來設置約束。我知道如何將屏幕寬度除以2,但我不知道如何以編程方式給單元格寬度和高度。
我創建了一個UICollectionView,其中有一個原型單元格。我想要每行2個單元格,並在較小的屏幕上運行它,這樣每行就有一個單元格。 單元之間的距離在更大的屏幕上增加。我只是在談論iPhone手機。CollectionView Cell Auto resizing
我想我必須通過以屏幕寬度爲2來劃分屏幕寬度來設置約束。我知道如何將屏幕寬度除以2,但我不知道如何以編程方式給單元格寬度和高度。
UICollectionViewDelegateFlowLayout
爲此定義了一種方法。
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
// return a CGSize
}
例子:
class MyViewController : UIViewController, UICollectionViewDelegateFlowLayout {
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView.delegate = self
self.collectionView.dataSource = self
}
// ...
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
return CGSize(width: CGFloat(self.view.frame.size.width/2), height: self.view.frame.size.height)
}
// ...
}
感謝您的答覆...你能請出示一個例子嗎? –
哦,那對我很有用......非常感謝你..... –
@ user5744323你可以接受答案,所以它會幫助其他用戶。不錯,我很歡迎 – azimov