UITableView cornerRadius with border performance issues on iOS

只谈情不闲聊 提交于 2019-12-04 03:31:23

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!