В UICollectionView ячейки не будут сидеть на дне
Заметка оказалось, что это была простая ошибка: клетки не «сидели на дне». Тем не менее, это интересный вопрос: «как двигать клетки вверх и вниз». Ниже приведено грубое решение: написание собственного макета потока.
Я был поражен, что единственный способ сделать это полностью подклассUICollectionViewFlowLayout
и написать какой-то хитрый код вlayoutAttributesForElementsInRect
.
Возможно, это поможет кому-то в будущем, так как примеров кода для этого очень малоlayoutAttributesForElementsInRect
вокруг. Надеюсь, поможет.
-
Оказываетсяпричина, по которой мои клетки не будут сидеть на дне было то, что у меня ранее было это в моем UICollectionViewController ...
-(void)viewDidLoad
{
[super viewDidLoad];
// the following code is very useful to, for example,
// "nudge short lists towards the middle..." - if you want the list
// to more sit in the middle of the screen, when only a few items.
cvHeight = CGRectGetHeight(self.collectionView.bounds);
[self.collectionView setContentInset:
UIEdgeInsetsMake(cvHeight * 0.175, 0, cvHeight * 0.30, 0) ]; //top,l,b,r
}
конечно, когда я изменил на «размер ячейки полного просмотра» (одна ячейка на экран), этот код завершается ошибкой.
У меня есть простой вид UICollection, который имеет ширину iPhone и около 250 в высоту. Ячейки имеют тот же размер, что и представление коллекции.
Клетки не будут центрироваться, они всегда сидят высоко. (т.е. вне поля зрения.)
Мои сборные представления "размеры" в раскадровке - все только ноль. В чем может быть проблема?