144個のセルを含むコレクションビューを作成しました。私は彼らに単一の選択のためのセットアップを持っています。私はしばらくの間設定して遊んでいますが、実際にセルを正しく表示する設定には、2つの特定のセルが一貫して間違ったサイズであるというこの問題があります。この問題はiPadプロでテストする場合にのみ発生することに注意してください。彼らは、自分のイメージを他の人に前後に変更するときに複製できない状況下で頻繁にサイズを変更します。私は絶対に必要なときにreloadData()を呼び出すだけで、indexPath関数でリロードされた個々のセルを呼び出そうとします。私はこのことが問題にならないように私が考えることができるすべてについてテストしました。正しい方向のポインターは高く評価されます!ここでコレクションビューのセルのコンテンツサイズが正しくありません
は、ここに私のコードです:
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 Alright。この問題を解決できるかどうか教えてください。次のプロジェクトに役立ちます。ありがとうございました –
私はそれを修正しました!!!!アイデアのおかげで、ありがとう!私は自分の答えを投げ捨てます。 – Sethmr