Как я могу изменить размер UICollectionViewCell
в зависимости от размера его подвидов, используя Auto Layout?
У каждого из моих UICollectionViewCell
есть только одно представление в contentView
. Это мой пользовательский подкласс UIView
, который автоматически изменяет свой размер, чтобы соответствовать всем своим подпредставлениям, используя Auto Layout. Он также правильно реализует -intrinsicContentSize
. Однако UICollectionView
, вернее, его компоновка, кажется, не заботятся об этом.
Я использую UICollectionViewFlowLayout
и пробовал:
- Оставьте для
itemSize
значение по умолчанию. Это дает мне ячейки размером 50 x 50. - Реализация метода делегата
-collectionView:layout:sizeForItemAtIndexPath:
. Однако при вызове этого метода ячейки (очевидно) еще не появились на экране и не были обновлены системой Auto Layout.
Есть ли способ изменить размер моих ячеек на основе их подвидов, используя стандартные классы Apple? Или мне нужно реализовать свой собственный подкласс UICollectionViewLayout
или что-то еще?