Как прикрепить края CollectionViewCell к CollectionView при использовании PagedView
Я использую AutoLayout, и у меня есть collectionView с включенным пейджингом. Я хочу, чтобы каждый CollectionViewCell точно соответствовал ширине и высоте своего контейнера CollectionView. Однако в AutoLayout, когда я выбираю CollectionViewCell и пытаюсь прикрепить его ребра к родителю (CollectionView), эти параметры отображаются серым цветом.
Я установил здесь размер ячейки, но на самом деле я хочу, чтобы ширина и высота ячейки увеличивались / уменьшались в соответствии с размером collectionView. Для CollectionView применяются ограничения на автоматическое расположение.
Arrange > Position View > Fill Container
Похоже, что это может быть то, что я ищу, но эти варианты были также выделены серым цветом.
1 ответ
Причина, по которой варианты закрепления краев ячейки представления коллекции на краях самого представления собрания отображаются серым цветом, заключается в том, что если вы это сделаете, вы не сможете прокрутить в любом направлении. Если бы вы могли ограничить передний край ячейки равным переднему краю представления коллекции, и вы сделали то же самое с соответствующими задними, верхним и нижним краями, не было бы больше места для второй или третьей ячейки... право?
Таким образом, вы хотите, чтобы реализовать макет потока и использовать его collectionView:layout:sizeForItemAtIndexPath:
метод. Внутри этого метода вы можете динамически вычислять размер вашей ячейки и возвращать соответствующее значение. Если все ваши ячейки должны быть одинакового размера, это становится проще, и вы можете просто установить свойство itemSize макета потока.