UITableView标题视图重叠iOS 10中的单元格

时间:2016-09-26 17:13:21

标签: ios uitableview

我的应用中有一个简单的UITableView,并且tableView.tableHeaderView属性的自定义视图。设置此属性后,视图的大小正确(全宽,大约45px高)。

[_resultHeaderView sizeToFit]; // the view as the correct frame
[_resultTableView setTableHeaderView:_resultHeaderView];

在iOS 9及早期版本中,标题显示正确,但在iOS 10中,单元格与标题视图的Y坐标相同,因此我的标题视图显示在第一个单元格上。

设置这些属性也无效:

self.edgesForExtendedLayout = UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets = NO;

在iOS 10中有什么变化可以解释这种不同的行为吗?什么是好的解决方案?

由于

2 个答案:

答案 0 :(得分:14)

错误在于视图正在自动调整大小,因此当它连接到tableView时它的帧高确实为0,这解释了行为。

将autoresizingMask设置为none可修复此错误。

_headerView.autoresizingMask = UIViewAutoresizingNone

同样,在iOS 9及更低版本中没有必要。希望这有助于其他人。

答案 1 :(得分:-1)

只需在headerView.frame之前设置tableView.tableHeaderView = headerView