我創建了自定義集合視圖單元格。它有一個的UILabel,的UIView,的UIButton然後UITextView的。使用自動佈局設置自定義集合視圖單元格的動態高度
要求爲:
- UILabel的文字大小可以是任何東西。基於它的內容尺寸標籤必須重新尺寸。它工作正常。
- 可以將任意數量的視圖添加到UIView。基於這個UIView必須是重新大小。
- UIButton只是一個普通的按鈕。當我們點擊它時,下面的TextView會切換。
我申請的限制是:
我創建了自定義集合視圖單元格。它有一個的UILabel,的UIView,的UIButton然後UITextView的。使用自動佈局設置自定義集合視圖單元格的動態高度
要求爲:
我申請的限制是:
使用這種方法計算大小適合於你並返回。
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let Labell : UILabel = UILabel()
Labell.text = self.items[indexPath.item]
let labelTextHeight = Labell.intrinsicContentSize.height
//calculate size for UIView, UIButton, TextView and then add it
return CGSize(width: /*fix width*/, height: labelTextHeigh + /*your UIView height and other height*/)
}
不要忘記延長您viewController
從UICollectionViewDelegateFlowLayout
請告訴我如何計算大小的@Rock Balbao –
@Rock Balbao,你已經分配了uilabel的文本。 –
我正在創建一個臨時標籤,它將文本作爲label.text並計算其高度,從而以這種方式我將獲得將實時使用的標籤大小。我可以設置集合視圖的高度和標籤的高度+您希望保留在單元格之間的一些空間。 @RahulPatel –
集合視圖將單元尺寸是基於它的內容? – rishu1992