我有一个UICollectionView
,其中包含4种不同类型的单元格,其中一个单元格应包含UIView
内部UITextView
。 UITextView
将在其中设置不同的动态高度字符串,因此整个单元格也需要相应地调整其高度 - 我无法在其中滚动。
我通过size属性获取属性字符串的高度。我将单元格高度指定为方法中的数量。
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
}
工作得很好 - 我可以看到细胞更长。
现在,出于某种原因,我无法让其子视图更长 - 设置一个新的框架根本没有任何效果:
CGRect frameCellOriginal = self.textTest.frame;
CGRect frameCellNew = CGRectMake(frameCellOriginal.origin.x, frameCellOriginal.origin.y, frameCellOriginal.size.width, frameCellOriginal.size.height / 2 + atString.size.height);
self.textTest.frame = frameCellNew;
我尝试在setNeedsDisplay
上使用UITextView
方法,但这并没有改变任何内容。我还尝试在单元格及其子视图上使用setAutoresizesSubviews:YES
和setAutoresizingMask:UIViewAutoresizingFlexibleHeight
,但它也没有用。
有人有任何想法吗?
修改
我注意到第一次滚动浏览集合时,包含文本的视图与.xib文件中的视图一样小。然后,如果我再次滚动它,它的白色背景UIView
会变长并填充整个单元格 - 按照我设置的高度。在第3个卷轴上,UITextView
也取得了所述高度。
如果我在同一个方法中设置所有3个视图,我不知道为什么会这样...