如何在表格视图中提高UILabel性能?

Joe*_*ang 0 uitableview uilabel ios

我有一个带有自定义单元格的表视图,我正在尝试优化它以使滚动尽可能平滑.我已经遵循了关于表格视图优化的大部分建议,例如,使用固定高度,而不是使用AutoLayout等.

除了一件事,我已经达到了一个非常优化的状态.自定义单元格有一个图像和几个UILabels.使用一个图像和3个标签,性能非常完美.然而,当我添加第4个标签时,我开始观察到一些急躁,非常小但不像以前那么平滑.

我搜索了网,发现CoreText可以帮助表现.是CoreText正确的方向吗?UILabel在表格视图中使用时,是否还有其他可以帮助提高性能的东西?

编辑:

我只使用简单的函数来UILabel设置它的字体,字体颜色,文本和numberOfLines.

Bea*_*lle 5

核心文本可能是性能的最终解决方案,但即使在到达那里之前,我也喜欢使用一个名为PaintCode的程序来绘制我的单元格内容,如果它们特别复杂的话.

在你需要达到这一点之前,你可以做的其他事情可以加快速度:

  1. 之前的 所有计算都cellForRow被调用.因此,任何数字格式,日期计算等都应该事先完成并存储在模型对象上.这样你就可以直接将它们插入你的单元格属性,然后就可以显示了它们.花费的任何额外时间cellForRow都会减慢你的速度tableview.
  2. 将所有标签和视图设置为不透明.您可能必须在执行此操作时设置其背景颜色,但这样可以更快地绘制视图.通过从模拟器的调试菜单中打开"颜色混合层",可以看到哪些视图具有透明度.你想要的是让你的细胞完全变绿.

在此输入图像描述