У меня есть UICollectionViewController
с помощью UICollectionViewFlowLayout
, где my itemSize
является размером UICollectionView
. В принципе, это макет строки ячеек, где каждая ячейка является полноэкранным и прокручивает по горизонтали.
В моем подклассе UICollectionViewFlowLayout
я переопределил prepareLayout
следующим образом:
- (void)prepareLayout {
self.itemSize = self.collectionView.frame.size;
self.scrollDirection = UICollectionViewScrollDirectionHorizontal;
self.collectionView.pagingEnabled = YES;
self.minimumLineSpacing = 0.0;
self.minimumInteritemSpacing = 0.0;
self.sectionInset = UIEdgeInsetsZero;
self.footerReferenceSize = CGSizeZero;
self.headerReferenceSize = CGSizeZero;
}
UICollectionViewController
- это очень простой способ вернуть 10 элементов в один раздел. Я включил образец проекта на GitHub для более подробной информации.
Кажется, все настроено правильно. Он выглядит правильно в симуляторе и на устройстве, но, когда отображается представление коллекции, в консоль входит ошибка:
the behavior of the UICollectionViewFlowLayout is not defined because: the item height must be less that the height of the UICollectionView minus the section insets top and bottom values.
Обратите внимание также, что контроллер представления коллекции в моем примере находится в контроллере навигации, и хотя это не выглядит особенно необходимым в этом примере, в моем реальном случае мне нужен вид коллекции в контроллере навигации.