2017-02-09 41 views
0

我创建了自定义集合视图单元格。它有一个的UILabel的UIView的UIButton然后UITextView的使用自动布局设置自定义集合视图单元格的动态高度

要求为

  1. UILabel的文字大小可以是任何东西。基于它的内容尺寸标签必须重新尺寸。它工作正常。
  2. 可以将任意数量的视图添加到UIView。基于这个UIView必须是重新大小
  3. UIButton只是一个普通的按钮。当我们点击它时,下面的TextView会切换。

我申请的限制是:

enter image description here

+0

集合视图将单元尺寸是基于它的内容? – rishu1992

回答

-1

使用这种方法计算大小适合于你并返回。

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*/) 

} 

不要忘记延长您viewControllerUICollectionViewDelegateFlowLayout

+0

请告诉我如何计算大小的@Rock Balbao –

+0

@Rock Balbao,你已经分配了uilabel的文本。 –

+0

我正在创建一个临时标签,它将文本作为label.text并计算其高度,从而以这种方式我将获得将实时使用的标签大小。我可以设置集合视图的高度和标签的高度+您希望保留在单元格之间的一些空间。 @RahulPatel –

相关问题