UITableView cornerRadius在iOS上出现边框性能问题

Bor*_*zin 5 iphone scroll cornerradius uitableview ios

我有一些有趣的通知上滚动性能UITableViewcornerRadius,borderWidthborderColor启用.

self.tableView.layer.cornerRadius = 10.f;
self.tableView.layer.borderWidth = 1.0f;
self.tableView.layer.borderColor = [UIColor whiteColor].CGColor;
Run Code Online (Sandbox Code Playgroud)

如果我删除borderWidthborderColor滚动得到60 FPS没问题.只要我将这两个属性添加到图层FPS滴.

有没有人有这样的奇怪行为发生的建议或解释?

非常感谢!

Moh*_*shi 6

对于此类性能问题,CALayer具有shouldRasterize属性.刚设置

self.tableView.layer.shouldRasterize = YES;
Run Code Online (Sandbox Code Playgroud)

这条单线节省了我很多时间和工作.


Bor*_*zin 1

我刚刚发现cornerRadius 和borderWidth 会导致tableView 性能下降很多。因此,我将半径改为 5.f,而不是 10.f,性能得到了惊人的提高。仍然不完美,但明显更好了......