Я столкнулся с проблемой в представлении коллекции в нашем проекте -
Collectionview состоит из 4-х разделов. Каждая секция состоит из 1 ячейки.
Если мы сохраним нулевую высоту для ячейки представления коллекции в разделе 0, cellforrrowatindexpath не будет вызываться для нулевого раздела. Проблема, с которой мы сталкиваемся, заключается в том, что cellforrowatindexapath также не будет вызываться для последующих разделов. В представлении коллекции ничего не отображается на экране, хотя предусмотрены другие высоты ячеек раздела.
Обновлено:
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 3
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
Switch indexpath.section {
case 0: return CGSize(width: UIScreen.main.bounds.width, height: 0)
case 1: return CGSize(width: UIScreen.main.bounds.width, height: 200)
case 2: return CGSize(width: UIScreen.main.bounds.width, height: 300)
}
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
Switch indexpath.section {
case 0: return A()
case 1: return B()
case 2: return C()
}
}
Если кто-то лучше понимает, почему представление коллекции работает таким образом, дайте мне знать.