在UITableView中查找空白区域的高度

Fer*_*lva 3 iphone uitableview

在我的UITableView中,我需要将UIView放在桌子的页脚和屏幕之外.例如,"推送刷新"功能(如Twitter应用程序)是在桌子的乞讨和屏幕外,我需要相同但在底部.

如果我有足够的行,总高度大于屏幕高度我没有任何问题,但如果我没有任何行,我无法定位muy视图.

所以我需要在我的表格中添加一个空白单元格(自定义单元格)以填充最后一个单元格和屏幕底部之间的空白区域,我该怎么办?我怎么知道空地的高度?

非常感谢你的帮助.

And*_*scu 8

而不是空白单元格,为什么不使用相同的表格页脚视图,只是使其足够大,以包含该空白空间.看起来容易得多.

现在,我能想到的唯一解决方案是手动计算内容的高度.为此,我认为你可以使用一个技巧,只需要打电话


CGRect lastRowFrame = [tableView rectForRowAtIndexPath: last_row_index_path];
Run Code Online (Sandbox Code Playgroud)

正如文档所说,这将为您提供最后一行的框架,您可以使用它计算frame.size.height最后一行之间的差异.像这样的东西:


CGFloat emptySpaceHeight = tableView.frame.size.height - (lastRowFrame.origin.y + lastRowFrame.size.height);
Run Code Online (Sandbox Code Playgroud)

这将是您需要添加到页脚视图的空白区域.

哦,以及获得该效果的最后一招:确保使用tableView.contentInset将底部插入设置为减去"推送到刷新"消息高度.这将使tableview反弹并在屏幕外显示消息.

现在我想不出更好的方法来实现你想要的.所以,希望这会有所帮助.