Два столбца UICollectionView с заголовком
У меня есть макет, который имеет две колонки рядом. Есть ли простой способ сделать это, используя один UICollectionView? Единственными требованиями является то, что решение должно работать для iOS 8, а ячейки должны располагаться вертикально в каждом столбце следующим образом:
-----------------
| A |
| B |
-----------------
| C | E |
| C | F |
| D | |
| E | |
-----------------
Сгруппированные буквы C демонстрируют, что ячейки в левом и правом столбцах могут иметь разную высоту, поэтому недостаточно просто нарисовать их влево, вправо, влево, вправо.
1 ответ
Это на самом деле довольно просто, используя UICollectionView
с макетом потока. Поскольку каждая ячейка может иметь динамическую высоту, единственное, что вам нужно - это ширина каждой ячейки 160 (или половина ширины представления коллекции). Затем реализовать collectionView:layout:sizeForItemAtIndexPath:
так что каждый элемент может вернуть соответствующую высоту.
Поскольку каждая ячейка имеет динамическую высоту, один столбец может оказаться намного длиннее другого. Если вы также хотите получить одинаковую высоту столбцов, то вам нужно изменить порядок своего списка таким образом, чтобы высота первой половины элементов была приблизительно равна высоте другой половины.