相关疑难解决方法(0)

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

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

这是我尝试过的设置:

  • 在其contentView中自定义UICollectionViewCell一个UITextView.
  • 滚动显示UITextView已禁用.
  • contentView的水平约束是:"H:| [_textView(320)]",即UITextView固定在单元格左侧,显式宽度为320.
  • contentView的垂直约束是:"V:| -0 - [_ textView]",即UITextView固定到单元格的顶部.
  • UITextView具有高度限制设置为其中一个恒定的UITextView报告将适合文本.

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

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

ios autolayout uicollectionview uicollectionviewcell

192
推荐指数
7
解决办法
20万
查看次数

AutoSizingCells preferredLayoutAttributes拟合性能[WWDC 2018]

我正在将UICollectionView与AutoSizing单元格一起使用,其外观类似于UITableView。

正如前面的问题中提到的:q1q2采用“自动调整大小”单元需要preferredLayoutAttributesFitting(_:)在的帮助下实现应用调整大小的方法systemLayoutSizeFitting(_ targetSize:)

但是,在最近的WWDC会话(高性能自动布局)中,有人提到使用起来systemLayoutSizeFitting(_ targetSize:)很昂贵,因为它会创建一个新的自动布局引擎,然后将其丢弃,要求它解决所有约束,而不缓存先前计算的结果。

在我的应用中,我已经按照答案中提出的方式实现了自动调整大小。但是,在类似表格的列表(许多小高度的行)中,滚动性能非常糟糕。

显然,呼吁systemLayoutSizeFitting(_ targetSize:)UICollectionViewCell刚刚计算出它的尺寸是昂贵而费力的CPU(因为规模估计和主线程的实际布局走位都)上。

建议同时实现以下结果的方法是什么

  1. 无停顿的滚动UICollectionView
  2. 使像元的宽度固定并等于UICollectionView Width minus margins

同时具有AutoSizing单元和高滚动性能的推荐策略是什么?

ios autolayout uicollectionview uicollectionviewcell swift

5
推荐指数
1
解决办法
3008
查看次数