我有一个tableView,每行有四个图形,大约有20行。 当我尝试滚动表格时,我将删除现有图表并为每一行构建新图表。
此操作使表格视图的滚动非常慢。 任何使滚动更快以及加载新图形的想法。
答案 0 :(得分:1)
创建新视图是一项昂贵的操作。这就是为什么最好重复使用它们。您可以通过将现有视图“出列”以进行回收来实现此目的。
另请查看Table View Programming Guide for iOS
具体来说,请查看涵盖优化技术的“Subclassing UITableViewCell”部分,例如:
仅在适当时绘制整个单元格。你的子类 UITableViewCell可以在其drawRect:方法中绘制其所有内容, 但是你应该意识到这种方法的潜在缺点。 自定义绘图适用于单元格的图层,可以将其遮盖 任何观点都放在它上面。例如,在分组中的表视图中 样式,背景视图(backgroundView属性)模糊任何 在drawRect中执行的绘图:蓝色选择背景将 也模糊了任何图画。此外,在期间发生的自定义绘图 动画(例如当表格视图进入和退出编辑模式时) 大幅降低绩效。
慢表滚动是一个常见问题,因此您可以在Stack Overflow上找到大量类似的问题。
另一件需要考虑的事情是,提供数据的方法可能是瓶颈。仪器将能够帮助您识别问题。