星空网 > 软件开发 > 操作系统

UITableVIew 滚动流畅性优化

影响UITableViewUITableView滚动的流畅性原因:

 

1、 在代理方法中做了过多的计算占用了 UI 线程的时间

2、同上

3、Cell 中 view 的组织复杂,比如使用layer并不会有太大影响,但是如果layer使用了透明,或者圆角、变形等效果,就会影响到绘制速度。

 

关于第一点,首先要明白 tableview 的代理(这里指 datasource 和 delegate 的那套方法,下同)方法的调用顺序,和时机。对于一般的应用会有如下顺序:

1、向代理要 number Of Rows。

2、对于每行向代理要 height For Row At Index Path。

3、向代理要 当前屏幕可见的 cell For Row At Index Path 。(实测显示4寸屏的手机会取 屏幕显示数量+2,3.5寸屏同4寸屏数量,虽然3.5寸屏可显示的cell 数量要小于 4寸屏!)

4、然后 cell 就显示出来了。

tableView:heightForRowAtIndexPath:

很多人都把优化的重点放到了 cell for row at indexpath 那个方法里了,在这里尽可能的少计算,但是却忽略了另一个很轻松就能提升加载时间的方法 :

 

对于高度的计算,还有个小细节需要注意,就是如果 row 的高度都一定,那就删除代理中的这个 tableView:heightForRowAtIndexPath: 方法,设置 Table View 的 rowHeight 属性,相似的 numberOfRowsInSection: 系列的方法,我就不都写出来了。苹果的文档里介绍这样也可以减少了调用时间。

 

在创建tableView方法时将行高设置 Table View 的 rowHeight 属性

//设置tableView的行高为50,不要再写代理方法  如果高度不一样另外计算,这个方法只限行高一样的时候使用

self.tableView.rowHeight=50;

 




原标题:UITableVIew 滚动流畅性优化

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

2022春节假期物流安排和经理值班时间发布:https://www.goluckyvip.com/news/6055.html
Vestiaire Collective怎么发货?运费多少钱:https://www.goluckyvip.com/news/6056.html
东南亚跨境电商靠谱吗?东南亚选品;食品出海:https://www.goluckyvip.com/news/6057.html
海外仓对跨境电商有哪些意义:https://www.goluckyvip.com/news/6058.html
跨境市场新风口:东南亚这国电商市场大热!:https://www.goluckyvip.com/news/6059.html
新规:埃及出口商注册制增加4类商品,否则无法清关!:https://www.goluckyvip.com/news/606.html
安能物流的2024:变革不能停:https://www.kjdsnews.com/a/1836480.html
深圳中心公园朱顶红花海位置(在哪里+怎么去):https://www.vstour.cn/a/364175.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流