我有一個UICollectionView,那裏有我UICollectionViewCells的一個包含一個UITextView一個UICollectionViewCell。我的目標是自動化UICollectionViewCell以適應文本視圖的內容。漿紗包含的UITextView,以適應contentSize
我已重寫的CollectionView:sizeForItemAtIndexPath,但我掙扎着爬在文本視圖中的內容高度值,而無需創建一個無限循環。
通常爲AutoSize一個UITextView,我會做類似如下:
CGRect frame = textView.frame;
frame.size.height = textView.contentSize.height;
textView.frame = frame;
但要做到這內sizeForItemAtIndexPath,我需要一個指針的UITextView。要獲取該指針,我發現自己打電話cellForItemAtIndexPath,但由於調用sizeForItemAtIndexPath它是一個無限循環。
我懷疑我缺少一種方法來預先設置視圖的大小,並讓UICollectionView只是尊重它,但它似乎默認爲UICollectionViewFlowLayout定義的50x50值。我很討厭做
其他(黑客)的想法:
- 有另一個隱藏的UITextView,我可以加載內容納入,並得到它的高度。
- 實現等價邏輯來計算自己的內容高度。
謝謝!