Пользовательский макет в UICollectionViewFlowLayout

Я хотел бы иметь макет в представлении коллекции с настраиваемыми размерами для каждой ячейки. Из-за этого я хотел бы, чтобы ячейки хорошо сочетались друг с другом, как вы можете видеть здесь:

Хорошо продуманные изображения

(Первая ячейка - верхняя, затем левая нижняя - номер 2, а правая нижняя - цифра 3). Направление прокрутки - горизонтальное (т.е. слева направо).

Однако, когда я реализую нестандартные размеры для каждой ячейки, ячейки не заполняют пробелы, и вместо этого я получаю макет, подобный этому:

Неверный макет

Для достижения этого результата мне нужно создать подкласс UICollectionViewFlowLayout или есть способ организовать ячейки, чтобы они занимали как можно больше свободного места?


person KerrM    schedule 30.12.2013    source источник


Ответы (1)


Вам необходимо реализовать свой собственный макет, создав подкласс UICollectionViewLayout. Это не так уж сложно. В Интернете есть масса примеров.

Вот один, использующий оригинальный пример Apple: http://markpospesel.wordpress.com/2012/10/25/fixing-circlelayout/

Другой пример, похожий на то, что вы хотите сделать: https://github.com/chiahsien/CHTCollectionViewWaterfallLayout

person Fabien Warniez    schedule 03.01.2014
comment
Большое спасибо за ваш ответ. Я действительно пошел дальше и создал собственный подкласс для макета. - person KerrM; 04.01.2014
comment
Как я уже сказал, в Интернете есть масса примеров. - person Fabien Warniez; 24.09.2014