Xcode9 打包出来的 UITableView 的高度代理不走 但是 Xcode8打包就可以

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

Imagem de capa

问题描述

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

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

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

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

解决办法

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

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

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

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

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

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