天天看点

【已解决】Xcode9 打包出来的 UITableView 的高度代理不走 但是 Xcode8打包就可以

问题描述

我们首页有点复杂,因为结构是下面是一个横向滚动的 UIScrollView 上面是一个 UITableView 但是整体看起来是连贯的 所以上面的 UITableView 的高度就要算出来。

但是在 Xcode9运行时候发现 CELL 的高度代理竟然不走了,导致我计算高度的方法没有被执行,结果计算出高度为0.

但是线上的包在iOS11上面显示十分的正常,并且团队其他的小伙伴运行没出现问题,就我的 Xcode9运行出现问题。

那就是 Xcode9打包出来的出现了问题。

解决办法

_tableView.rowHeight = 0;
_tableView.estimatedRowHeight = 0;           

复制

感谢2017@Swift群里面的 List提供的解决办法。设置这两个属性之后,首页上面 UITableView 的数据果然出现了。

虽然解决了,但是首页因为多个 UIScrollView 导致十分滚动会卡顿。这个最好的解决办法是抛弃左右滚动切换功能

这样最下面的 UICollectionView 就可以不用 直接整体一个 UITableView 这样就可以实现滚动顺畅。

首页的设计思路可以参考我的一篇文章

关于首页设计框架和一些细节处理分析