【发布时间】:2016-04-04 12:58:21
【问题描述】:
我有一个包含 7-8 个不同单元格的集合视图。单元在 XIB 文件中构建。然后在视图控制器中我使用:
[self.collectionView registerNib:[UINib nibWithNibName:name bundle:nil] forCellWithReuseIdentifier:name];
一切都按预期工作,但存在一些性能问题。在第一个滚动集合视图中,随着单元格的出现明显滞后。在所有类型的单元格至少加载一次之后,一切都开始顺利滚动。细胞其实并不复杂。
问:你为什么还要使用 XIB,为什么不在故事板中使用原型单元格?
A:相同的单元格在不同的集合视图中使用应用程序。这样我就可以在 xib 中对单元格应用一次更改。我想不出更简单的解决方案来做到这一点。
我很确定 UINib 在加载后会被缓存,这就是它停止滞后的原因。例如,我想知道是否有办法在启动屏幕上预加载这些 xib。这需要一两秒钟,但会带来更流畅的体验。
【问题讨论】:
-
我认为延迟的问题来自这些单元格中的布局视图。我对
tableView有类似的问题。特别是如果您使用动态大小。
标签: ios objective-c xcode caching uinib