为什么我的tableview的最后一行没有对齐到屏幕的底部

时间:2010-04-30 15:42:58

标签: iphone uitableview

我有一个由tableview和导航栏组成的视图。对于我的tableview,我实现了一个“加载更多”行,每次点击时都会加载当前的+ pagesize

加载的工作方式非常简单,每次单击时我只需要请求显示的行数,例如5,10,15等。此请求填充数组,然后调用

[self.tableView reloadData]

我遇到的问题是,当我第一次进入tableview时,它会正确加载并显示tableview。但是,如果我'加载更多',它将返回正确的数量并显示正确的单元格数,但最后一个单元格将无法正确放置在屏幕底部,约为1/2(或大致相当于导航栏的大小) (单元格)出现在屏幕底部。

我认为仅仅告诉tableview重新加载就足够了。我需要使用

吗?

[self.tableView insertRowsAtIndexPaths ...]

这样做。

3 个答案:

答案 0 :(得分:1)

检查你的桌面视图的框架......它可能太大了,因此它被切断了

答案 1 :(得分:1)

加载更多内容后,滚动条是否停留在表格底部,应该如何工作,还是看起来滚动条滚动到表格底部?如果滚动条滚过表格的底部,那么Daniel就是对的,你的tableView的框架会以某种方式改变并变得太大而无法放在屏幕上。如果滚动条停在应该的位置,那么tableView的框架就可以了,但无论出于何种原因,tableView都没有正确计算它自己的contentSize。

您是否实施此方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

在tableview的委托中?如果是这样,我的猜测是你没有指定表格单元格的正确大小。负载更多的单元格与其他单元格的大小相同吗?

答案 2 :(得分:0)

确保您的tableview没有自动调整...