【发布时间】:2013-11-02 14:59:28
【问题描述】:
我正在对单元格(UITableViewCell 和 UICollectionViewCell)使用自动布局,但注意到重新使用单元格时会出现明显的性能缺陷,我想知道我可以做些什么来改进它。
也许是因为我创建/配置单元格的方式,在我的应用程序中我需要将书籍显示为单元格,不同的书籍类型有不同的布局,但我只有一个 BookCell,我在单元格时重新配置约束根据书的类型为特定书创建/重用。
据我了解,在我的情况下,自动布局应该比固定框架慢,步骤如下:
自动布局
- 移除当前限制
- 根据图书类型重新添加约束
- 设置图书的所有标签/图像视图
我认为在内部,iOS 将在第 2 步重新运行约束求解器,并在第 3 步重新调整约束(即重新运行求解器)以满足所有带有文本和图像集的标签和图像视图。
固定布局
(具有标签、图像视图、不同类型的不同框架列表) 1.重新设置所有标签',图像视图'框架 2.设置标签的文本和图像视图的图像
我需要一些时间来将所有自动布局单元格转换为使用固定帧,为了提高性能,我能想到的事情是:
- 复制通用 BookCell,并为每种类型制作一个单元格。
- 设置所有标签、图像视图、之前设置约束
- 对此不太确定,我应该在
updateConstraints方法或初始化程序中添加自动布局约束(例如initWithTableViewCellStyle:reusableIdentifier:)吗?
非常感谢!
【问题讨论】:
-
你有多少种书籍类型?
标签: ios objective-c uitableview uicollectionview autolayout