我试图得到自我大小UICollectionViewCells工作与自动布局,但我似乎不能让单元格大小自己的内容。我很难理解如何从单元格的contentView内的内容更新单元格的大小。
下面是我尝试过的设置:
自定义UICollectionViewCell,在它的contentView中有一个UITextView。
UITextView的滚动被禁用。
contentView的水平约束是:"H:|[_textView(320)]",也就是说UITextView被固定在单元格的左边,显式宽度为320。
contentView的垂直约束是:"V:|-0-[_textView]",也就是说UITextView固定在单元格的顶部。
UITextView有一个高度约束设置为常数,UITextView报告将适合文本。
下面是单元格背景设置为红色,UITextView背景设置为蓝色时的效果:
我把我一直在GitHub上玩的项目放在这里。
如果你实现uicollectionviewdelegatflowlayout方法:
- (CGSize)collectionView:(UICollectionView*)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath*)indexPath
当你调用collectionview performBatchUpdates:completion:时,size height将使用sizeForItemAtIndexPath代替
preferredLayoutAttributesFittingAttributes。
performBatchUpdates:completion的呈现过程将通过preferredLayoutAttributesFittingAttributes方法,但它会忽略您的更改。