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

时间:2012-06-27 11:15:10

标签: iphone ios uitableview scroll cornerradius

我有一些有趣的注意事项,UITableViewcornerRadiusborderWidthborderColor已启用的情况下滚动表现。

self.tableView.layer.cornerRadius = 10.f;
self.tableView.layer.borderWidth = 1.0f;
self.tableView.layer.borderColor = [UIColor whiteColor].CGColor;

如果我删除borderWidthborderColor而不是滚动获得60 FPS没问题。只要我将这两个属性添加到图层FPS丢弃。

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

非常感谢!

2 个答案:

答案 0 :(得分:6)

CALayer为此类性能问题设置了shouldRasterize属性。 只需设置

self.tableView.layer.shouldRasterize = YES;

这一行节省了我很多时间和工作。

答案 1 :(得分:1)

我刚刚发现cornerRadius与borderWidth缓慢的tableView性能相差很多。因此,而不是10.f半径我改为5.f并且性能惊人地增加。仍然不完美,但明显更好......