具有自动布局的UICollectionView自定义单元格

具有自动布局的UICollectionView自定义单元格

我正在尝试UICollectionViewCells使用Auto Layout进行自我调整,但我似乎无法让单元格根据内容调整自己的大小。我无法理解如何根据单元格内容中的内容更新单元格的大小。

这是我尝试过的设置:

  • 在其contentView中自定义UICollectionViewCell一个UITextView

  • 滚动显示UITextView已禁用。

  • contentView的水平约束是:“H:| [_textView(320)]”,即UITextView固定在单元格左侧,显式宽度为320。

  • contentView的垂直约束是:“V:| -0 - [_ textView]”,即UITextView固定到单元格的顶部。

  • UITextView具有高度限制设置为其中一个恒定的UITextView报告将适合文本。

这是单元格背景设置为红色,UITextView背景设置为蓝色的样子:

我把我已经在GitHub上玩的项目在这里


九州编程
浏览 1055回答 3
3回答

至尊宝的传说

在iOS10中有一个名为UICollectionViewFlowLayout.automaticSize(以前UICollectionViewFlowLayoutAutomaticSize)的新常量,所以相反:self.flowLayout.estimatedItemSize = CGSize(width: 100, height: 100)你可以用这个:self.flowLayout.estimatedItemSize = UICollectionViewFlowLayout.automaticSize它具有更好的性能,尤其是当您的集合视图中的单元格具有常量wid时访问流程布局:override func viewDidLoad() {    super.viewDidLoad()    if let flowLayout = collectionView?.collectionViewLayout as? UICollectionViewFlowLayout {       flowLayout.estimatedItemSize = UICollectionViewFlowLayout.automaticSize   }}
打开App,查看更多内容
随时随地看视频慕课网APP