2

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

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

有没有其他人经历过这个?

4

3 回答 3

2

我也有过这种经历。

现在通过子类化 UITableView 并在 viewDidLoad 中添加它来解决它

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

我也想要一个不那么老套的解决方案。

于 2012-10-02T01:47:33.560 回答
2

我知道这与@Loks 的答案几乎相同,但它绝对更干净。

没有任何必要子类化UITableView,而只需像这样设置表格的页脚:

[tableView setTableFooterView:[UIView new]];

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

我希望这有帮助!

于 2013-05-04T18:55:06.877 回答
2

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

tableView.contentInset = UIEdgeInsetsMake(0, 0, -20, 0);
于 2013-07-05T16:23:11.557 回答