我正在通过UITableViewCell
在 Xcode 中设计自己的表格并将其加载到cellForRowAtIndexPath
. 我面临滚动问题;表格滚动真的很慢而且根本不流畅。在每个单元格中,我都有:
- 2 或 3
UIImageView
,其中第三个在需要时动态添加 - 1
UILabel
- 1
UITextView
- 一些单元格可能有 2
UIButton
,一些 1UIButton
,并且大多数根本没有按钮 - 在某些单元格中,我可能会添加叠加层
UIView
每个单元格中的图像视图、文本视图和按钮的大小都不同。为了防止每次滚动表格时计算大小,我加载所有大小viewWillAppear
并将它们存储在一个数组中,在里面cellForRowAtIndexPath
我只加载数组中的大小并将它们设置为所需的对象。
我尝试了我在网上找到的所有想法(比如将图像加载到此处if(cell == nil)
所示的正文中,或者不将单元格出列......)但没有解决我的问题。
另一方面,我注意到聊天应用程序 WhatsApp 每个单元格使用相似数量的项目(例如,当用户收到图像时,有 2 个按钮查看和转发,图像缩略图,缩略图旁边的复选标记图像,日期标签,缩略图后面的气泡图像...)但那里的滚动非常流畅。
即使表格中只有 10 个单元格,我的滚动速度也很慢。以下是我的问题:
- 我是否在做一些我没有注意到的严重错误?
- 应添加到自定义单元格以防止缓慢滚动的项目数量是否有限制?
- 有没有办法通过在 Xcode 中使用 Product-> Profile 之类的东西来检测滚动缓慢的原因?
- 任何人都可以为我的问题提出解决方案吗?
提前谢谢了。