在iOS 6上的弹出窗口中分组的UITableView下的额外空间

时间:2012-09-27 02:43:14

标签: uitableview ios6 popover

我有一个应用程序,在弹出窗口中显示各种分组的UITableViews。在我呈现popover之前,我在tableViewController上调用setContentSizeForViewInPopover,并将高度设置为tableViewController.tableView.contentSize.height。

这在iOS 5中运行良好,但现在在iOS 6上,在UITableView的最后一个单元格下面有额外的空间,就好像有页脚一样。当我调用setContentSizeForViewInPopover时,我可以减去空间的高度,但这看起来像是一个讨厌的黑客。

还有其他人经历过这个吗?

3 个答案:

答案 0 :(得分:2)

我也经历过这个。

现在通过继承UITableView并在viewDidLoad中添加它来解决它

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0.0f,0.0f,1.0f,1.0f)];

我也想要一个不太苛刻的解决方案。

答案 1 :(得分:2)

我知道这和@Loks的答案几乎相同,但它绝对更清晰。

没有必要继承UITableView的子类,而只需像这样设置表的页脚:

[tableView setTableFooterView:[UIView new]];

这将删除底部的空间,并且不需要GPU处理另一个视图。所有这一切都是从表中删除额外的行和额外的空格。

我希望这有帮助!

答案 2 :(得分:2)

是的,这是一个恼人的问题。您可以使用contentInset来补偿20px的额外底部边距:

tableView.contentInset = UIEdgeInsetsMake(0, 0, -20, 0);