我用144個單元格製作了一個收集視圖。我讓他們設置爲單個選擇。我一直在玩我已經有一段時間的設置,但是任何能夠正確顯示單元格的設置都存在這個問題,即兩個特定單元格的大小一致。請注意,只有在iPad Pro上進行測試時纔會出現問題。他們經常會在我無法複製的情況下重新調整大小,以便來回更改圖像。我嘗試只在絕對必要時調用reloadData(),並在indexPath函數中調用reload個別單元。我已經測試了我能想到的一切,以防止這成爲一個問題。任何指向正確方向的指針都會受到高度讚賞!收集視圖單元格的內容大小不正確
這裏是我的代碼:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! ChartViewCell
cell.setColor(colorArray[indexPath.section][indexPath.row])
cell.overlay?.image = cell.whichColor.toImage()
return cell
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 24
}
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 12
}
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionView, minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat {
return 0
}
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {
return UIEdgeInsetsMake(0, 0, 0, 0)
}
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
let screenRect: CGRect = collectionView.bounds
let screenWidth: CGFloat = screenRect.size.width
let cellWidth: CGFloat = screenWidth/24
//Replace the divisor with the column count requirement. Make sure to have it in float.
let size: CGSize = CGSizeMake(cellWidth, cellWidth)
return size
}
我很欣賞這個答案,但是我寧願不要將第三方庫添加到我的項目中以查找此錯誤。我會嘗試以這種方式設置限制,然後看看它是否有幫助。我現在將它們連接到單元格的所有側面。 – Sethmr
@Sethmr好的。讓我知道你是否可以解決這個問題,所以它可以幫助我的下一個項目。非常感謝 –
我修好了!感謝這個想法的幫助!我會拋出我自己的答案。 – Sethmr