2

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

一些集合视图单元格包含 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:”一样。

4

1 回答 1

-1

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

请参阅此处:UICollectionViewDelegateFlowLayout 协议参考

于 2013-08-08T15:47:50.587 回答