我有一个由tableview和导航栏组成的视图。对于我的tableview,我实现了一个“加载更多”行,每次点击时都会加载当前的+ pagesize
加载的工作方式非常简单,每次单击时我只需要请求显示的行数,例如5,10,15等。此请求填充数组,然后调用
[self.tableView reloadData]
我遇到的问题是,当我第一次进入tableview时,它会正确加载并显示tableview。但是,如果我'加载更多',它将返回正确的数量并显示正确的单元格数,但最后一个单元格将无法正确放置在屏幕底部,约为1/2(或大致相当于导航栏的大小) (单元格)出现在屏幕底部。
我认为仅仅告诉tableview重新加载就足够了。我需要使用
吗? [self.tableView insertRowsAtIndexPaths ...]
这样做。
答案 0 :(得分:1)
检查你的桌面视图的框架......它可能太大了,因此它被切断了
答案 1 :(得分:1)
加载更多内容后,滚动条是否停留在表格底部,应该如何工作,还是看起来滚动条滚动到表格底部?如果滚动条滚过表格的底部,那么Daniel就是对的,你的tableView的框架会以某种方式改变并变得太大而无法放在屏幕上。如果滚动条停在应该的位置,那么tableView的框架就可以了,但无论出于何种原因,tableView都没有正确计算它自己的contentSize。
您是否实施此方法:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
在tableview的委托中?如果是这样,我的猜测是你没有指定表格单元格的正确大小。负载更多的单元格与其他单元格的大小相同吗?
答案 2 :(得分:0)
确保您的tableview没有自动调整...