问题
I have some interesting notice with scrolling performance on UITableView
with cornerRadius
, borderWidth
and borderColor
enabled.
self.tableView.layer.cornerRadius = 10.f;
self.tableView.layer.borderWidth = 1.0f;
self.tableView.layer.borderColor = [UIColor whiteColor].CGColor;
If I remove borderWidth
and borderColor
than scrolling gets 60 FPS no problem. As long as I add those two properties to layer FPS drops.
Does anyone have a suggestion or explanation why this strange behavior happens?
Many Thanks!
回答1:
CALayer having shouldRasterize property for this type of performance issue. Just set
self.tableView.layer.shouldRasterize = YES;
This single line saved my lot of time and work.
回答2:
I just found out that cornerRadius with borderWidth sluggish tableView performance by a lot. So instead of 10.f radius I changed to 5.f and performance has increased amazingly. Still not perfect but noticeably better...
来源:https://stackoverflow.com/questions/11224955/uitableview-cornerradius-with-border-performance-issues-on-ios