iOS 11 UITableView错误

Swi*_*bit 18 uitableview ios swift ios11

可以使用此处的repo重现该错误.

我的UITableView中有一个影响iOS 11项目的奇怪错误.有问题的TableView被分组,具有可扩展的单元格.

我的iOS 10分支上没有出现许多奇怪的效果:

  1. 标题重叠
  2. 当单元格折叠发生时,当内容大小高于UITableView容器大小时,会出现奇怪的传送问题
  3. 当内容大小超过容器大小时,在滚动开始时奇怪的传送到tableview顶部
  4. 细胞大小是错误的(经常)

此处还有Apple开发者论坛上的相关票证.

我试过没有任何成功:

if #available(iOS 11.0, *) {
    tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentBehavior.never
}
Run Code Online (Sandbox Code Playgroud)

我试图找到iOS 11中可能导致此问题的更改行为.

任何帮助,将不胜感激!

编辑:剪切到边界有帮助(但最终,它隐藏/剪辑问题).我还有一些问题(2,3和4).当我试图解开一个细胞时,它会传送回顶部,而不是顺利进行.当我打开一个单元格并想要顺利滚动到它时,它会传送到顶部然后只滚动到它.(必须添加一个额外的部分来显示).

这是一个问题的视频(使用iPhone 7 Plus,iOS 11,Xcode 9 Golden Master):https://youtu.be/XfxcmmPdeoU

在此输入图像描述

小智 24

在iOS系统中11,所有评估UITableView的属性(estimatedRowHeight,estimatedSectionHeaderHeight,和estimatedSectionFooterHeight)默认UITableViewAutomaticDimension.

我看到你的细胞作为你回到那很好UITableViewAutomaticDimensionheightForRow.对于您的部分页眉和页脚,但您没有使用自动调整大小.我会尝试禁用所有的自动调整大小行为在页眉/页脚设置estimatedSectionHeaderHeight,并estimatedSectionFooterHeight0.

来源:iOS 11浮动TableView标题