UITableView cornerRadius 在 iOS 上存在边框性能问题



我有一些有趣的通知,在启用了cornerRadiusborderWidthborderColor的情况下,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,性能显着提高。仍然不完美,但明显更好...

最新更新