我有一些有趣的注意事项,UITableView
在cornerRadius
,borderWidth
和borderColor
已启用的情况下滚动表现。
self.tableView.layer.cornerRadius = 10.f;
self.tableView.layer.borderWidth = 1.0f;
self.tableView.layer.borderColor = [UIColor whiteColor].CGColor;
如果我删除borderWidth
和borderColor
而不是滚动获得60 FPS没问题。只要我将这两个属性添加到图层FPS丢弃。
有没有人有这样的奇怪行为发生的建议或解释?
非常感谢!
答案 0 :(得分:6)
CALayer为此类性能问题设置了shouldRasterize属性。 只需设置
self.tableView.layer.shouldRasterize = YES;
这一行节省了我很多时间和工作。
答案 1 :(得分:1)
我刚刚发现cornerRadius与borderWidth缓慢的tableView性能相差很多。因此,而不是10.f半径我改为5.f并且性能惊人地增加。仍然不完美,但明显更好......