iOS15 tableView 问题

2,130 阅读1分钟

1.tableview的header多出一条空白处, 头部多出一条分割线

在iOS15中,Apple对tableview更新了许多属性,其中有一个属性为sectionHeaderTopPadding,令人疑惑的是Apple添加的新属性默认值会导致更新后header和cell间出现一个空白区域,默认值居然不是0. 解决办法也很简单,设置该属性为0即可,全局设置代码如下,单个tableview设置也是一样道理:

if #available (iOS 15.0, *) {

            UITableView.appearance().sectionHeaderTopPadding = 0

        }

或者不需要header的也可以设置header为UIView(),头部分割线也一并解决。

2.tableview布局错乱,总是返回不同cell,而且后台进入前台时会自动刷新可见的cell

iOS15中Apple修改了tableview的加载方式,会对cell和数据进行预取,导致实际显示页面错乱,设置isPrefetchingEnabled = false禁用预取即可

if #available (iOS 15.0, *) {

            UITableView.appearance().isPrefetchingEnabled = false

        }

参考链接:stackoverflow.com/questions/6…

后续还有其他问题的话继续更新