UICollectionView с переменными размерами ячеек

Я немного борюсь с размером ячеек в UICollectionView. В андроиде можно легкозаворачивать" размер ячейки. Как и в iOS, у вас есть вызов функцииGetCell» и вы решаете, насколько он будет большим.

Разница в iOS заключается в том, что вGetCell» функция (из UICollectionViewController), кажется, вы можете 't выбрать размер ячейки (или представление содержимого). Если я изменю размер, он проигнорирует его и все равно будет использовать общийItemSize» CollectionView (который одинаков для всех ячеек).

Это иногда приводит к представлениям, которые не очень красивы. Например, если у меня есть горизонтальный список с изображениями, я хочу, чтобы расстояние между изображениями было одинаковым, независимо, если одно изображение имеет размер 200x200, а другое 400x200. Так что размер ячейки тоже должен быть разным.

Можно определить разный размер для разных ячеек. Вы можете использовать делегат Collectionview и функцию GetSizeForItem (= sizeForItemAtIndexPath в ObjC). Проблема в том, что эта функция вызывается ДО самой функции GetCell.

Так что, если у меня есть более сложная ячейка, например, с некоторыми ярлыками. В моем "GetCell» функция, я строю эту ячейку, и в конце, при возврате ячейки, я знаю, какой ее размердолжен быть. Однако в функции GetSizeForItem эта информация еще не доступна, поскольку ячейка по-прежнемуноль'.

Единственный способ сделать это - создать UIView для ячейки (чтобы я мог запросить размер) в момент 'GetSizeForItem» вызов. Но это некажется хорошим дизайном, потому что ям строит UIView перед 'GetCell» где я построю это снова.

Есть ли что-то, что ям с видом?

С уважением, Мэтт

Ответы на вопрос(1)

Ваш ответ на вопрос