使用SDAutolayout在iOS11上UITableView卡顿的问题

年前时间紧任务重很久没更新博客,今天更新一篇前段时间项目中出现的问题。
去年开始重构公司项目的时候使用了一个比较新的约束框架:SDAutoLayout,觉得调用很方便且语法我也很喜欢,仔细阅读了解段时间毫不犹豫集成到项目中。
SDAutoLayout的git传送门:
https://github.com/gsdios/SDAutoLayout

使用SDAutoLayout在iOS11以下,UITableView滑动纵享丝滑。但在iOS11以上的滑动让我这个强迫症无法忍受,对cell进行了很多优化效果都不是很理想,最后想到有可能是iOS11上estimatedRowHeight的属性问题,赋值为零,问题迎刃而解。具体问题没有深入探索,估计是iOS11上RowHeight缓存引起的。

附上代码:


55849AF4-C263-4887-8F43-9315BE7795F5.png

或者新建UITableView的类扩展,使用runtime,这样init的UITableView不用在estimatedRowHeight赋值为零。


ABB2E667-CF23-495F-90C3-E82D2BFE4490.png

---------------------------------------------题外话----------------------------------------
安利下SDAutoLayout这个库,个人觉得挺好用的。
最近准备把公司的项目从oc转成swift,在swift上SDAutoLayout使用示例:
添加控件数组:


4C327D58-51D8-4C2C-B75C-5C7D2F16508F.png

控件约束:


1FF450B0-AB66-4708-B8FD-BAD1C14F55A8.png

---------------------------------------------end----------------------------------------
ps:2018心想事成,也愿自己能更上一层,愿自己静下心好好学习python
春节快乐!!

你可能感兴趣的:(使用SDAutolayout在iOS11上UITableView卡顿的问题)