作者:赵lamarta | 来源:互联网 | 2023-01-18 11:49
让应用程序有多个部分,"扩展"时每个部分有几行,"折叠"时没有.每个部分都有一个部分标题,正在使用子类UITableViewHeaderFooterView
等重用它们.到目前为止一切都很好.
然后在iOS 11中:
我已经使用了可视化调试器,并确认它是我的部分标题浮动.标题下方的所有行都正确显示,其他标题显示正常.
为了恢复理智,我抛弃了标题的所有重用逻辑,并以编程方式编写它们.彼此彼此.iOS 11之前的所有工作仍然在iOS 11中浮动.浮动的部分似乎每次都会改变,所以就是这样.
有任何想法吗?
1> ahmedre..:
刚遇到类似的问题,发现这个问题的讨论对我有用:
self.tableView.estimatedRowHeight = 0
self.tableView.estimatedSectiOnHeaderHeight= 0
self.tableView.estimatedSectiOnFooterHeight= 0
看起来像UITableView
iOS 11 中更改的默认行为使用估计的高度.iOS 11 beta 2的发行说明说:
表视图现在默认使用估计的高度,这也意味着单元格和节头/页脚视图现在默认为自我大小.estimatedRowHeight,estimatedSectionHeaderHeight和estimatedSectionFooterHeight属性的默认值现在是UITableViewAutomaticDimension,这意味着表视图选择要使用的估计高度.如果可能,您仍应为每个房产提供更准确的估算,这是您对实际高度平均值的最佳猜测.如果现有的表视图代码在使用iOS 11 SDK构建应用程序时表现不同,并且您不想采用自行调整大小,则可以通过将值设置为零来禁用估计的高度来恢复以前的行为.每个估计的高度属性.(30197915)
另请参阅此处镜像的beta 2发行说明.