UICollectionViewCell动态高度取决于UITextView字体lineHeight

时间:2013-08-08 13:57:44

标签: ios uicollectionview

我正在尝试使用具有动态高度的单元格来实现集合视图。

某些集合视图单元格包含UITextView,UITextViews的高度配置如下:

    [textViewHeightConstraint setConstant: numberOfRowsToDisplay * [[textView font] lineHeight]];

textview是另一个视图的子视图,该视图位于特定的.xib中,当单元格出列时(当调用collectionView:cellForItemAtIndexPath:时),此xib视图被添加为单元格的子视图。

但是我需要在“collectionView:sizeForItemAtIndexPath:”方法中返回单元格的高度,其中单元格实例不可访问,因此我无法访问textview:[[textView font] lineHeight]属性。

我该如何解决?

PS:textview是空的,所以高度不依赖于我可以调用sizeWithFont:方法的NSString,我不能硬编码textview高度。在运行时检索“numberOfRowsToDisplay”,textView字体也不是硬编码的。

编辑:我已经尝试在“collectionView:sizeForItemAtIndexPath:”方法中调用“dequeueReusableCellWithReuseIdentifier:forIndexPath:”,它会创建一个无限循环,就好像我正在调用“collectionView:cellForItemAtIndexPath:”。

1 个答案:

答案 0 :(得分:-1)

您需要将视图控制器设置为流布局类的委托。

见这里:UICollectionViewDelegateFlowLayout Protocol Reference