Я использую UICollectionViewFlowLayout. Мои ячейки содержат UILabels, которые различаются по высоте (количеству строк).
Кажется, что лучший способ получить высоту ячейки будет в подклассе UICollectionViewCell
, потому что именно здесь я устанавливаю макет и имею доступ к внутреннему размеру моих представлений, НО:
collectionView: layout: sizeForItemAtIndexPath:
вызывается перед методом делегата collectionView: cellForItemAtIndexPath:
, что означает, что мне нужно знать высоту ячейки, прежде чем я получу фактическую компоновку ячейки.
Все, что я придумал до сих пор, кажется слишком сложным, например, начинать с фиксированной высоты ячейки, ссылаться на фактическую высоту после меток в загрузке ячейки и снова перезагружать данные с правильной высотой. Есть лучший способ это сделать?