我有一些有趣的通知,在启用了cornerRadius
、borderWidth
和borderColor
的情况下,UITableView
的滚动性能。
self.tableView.layer.cornerRadius = 10.f;
self.tableView.layer.borderWidth = 1.0f;
self.tableView.layer.borderColor = [UIColor whiteColor].CGColor;
如果我删除borderWidth
并且borderColor
滚动获得 60 FPS 没有问题。只要我将这两个属性添加到图层 FPS 下降。
没有人有建议或解释为什么会发生这种奇怪的行为?
非常感谢!
CALayer 应该为此类性能问题栅格化属性。刚刚设置
self.tableView.layer.shouldRasterize = YES;
这一条线为我节省了大量的时间和工作。
我刚刚发现 cornerRadius 与 borderWidth 缓慢的表视图性能很多。因此,我从 10.f 半径更改为 5.f,性能显着提高。仍然不完美,但明显更好...