- heightForRowAtIndexPath简述
- 每个cell都会调用
heightForRowAtIndexPath
方法.
那么如果有1W个cell,程序一启动就会调用1W次heightForRowAtIndexPath
方法,这非常消耗性能,解决方案?- 首先,了解为什么调用
heightForRowAtIndexPath
方法?- 确认cell的高度,为什么要确认cell的高度?
-
Apple有一个滚动条,有时长,有时短 !
其实,内部就是通过确认了cell的高度,而计算出了得.
- 解决方法:
- estimatedRowHeight -简述
- 使用预估高度
estimatedRowHeight
,完美解决.既会显示滚动条又不会一次性调用N次heightForRowAtIndexPath
方法. - 设置预估高度,为什么程序启动时,调用
heightForRowAtIndexPath
的次数就变了.- 设置了预估高度,Apple内部之间根据预估高度,来确认"滚动条"的长短,不会去算实际真实的cell的高度.
- 所以是根据
estimatedRowHeight值
的大小,来确定程序启动时,一次性调用heightForRowAtIndexPath
方法的次数 -
estimatedRowHeight值
越大,调用heightForRowAtIndexPath
方法的次数就越少,"滚动条"就越长. - 手机屏幕固定就是那么大,cell高度越大,屏幕放入的cell就越少,也就是调用
heightForRowAtIndexPath
方法的次数越少,那么滚动条长度也就越长了.
- 首先,了解为什么调用
创建日期:2020.4.4
网友评论