所以我读了here我可以简单地将UITableViewCell拖到故事板中我的UITableViewController的底部,让它像一个页脚。这个页脚行中有一个活动指示器就是它。它的宽度为320,高度为55,指示器位于行的中心。请注意,它是 UIView 而不是UITableViewCell,因为我只能让它与前者一起使用。
首先,UITableView不会停在页脚。如果他将滚动扩展到UITableView的底部,就可以看到页脚。一旦用户松开手指,当UITableView将其滚动返回到最后一个元素时,页脚就会从站点中消失。我正在尝试做Instagram正在做的事情 - 如果你滚动到底部你可以在底部看到他们的自定义活动指示器,UITable将保持在该指标的滚动位置。我怎样才能做到这一点?
第二次,我通过某些用户操作执行了一些自定义滚动。现在,我有以下代码:
if (row + 1 < [self.tableView numberOfRowsInSection:0]) {
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForItem:row+1 inSection:0]
atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
} else {
// TODO scroll a little down so the user can see the activityIndicator
}
如何告诉我的tableView以编程方式滚动到页脚并让它停在那里?
第三次在一开始,我的UITableView必须先从我的服务器获取内容,然后才能填充tableView。不幸的是,我无法获取页脚视图以最大化UITableView的空间,以便activityIndicator将出现在中心。现在这就是它的样子:
我想我的结构设置正确:
我怀疑在UITableView中使用UIView可能会阻止视图最大化。
摘要 有关上述问题的任何建议?我为这个问题的长度道歉,但我觉得它们都与上面提到的同一问题有关。
答案 0 :(得分:1)
我终于明白了。
关于@zing和@Lithu的答案,这很有效。但是,从此方法返回footerView会强制footerView“粘贴”到TableView的底部。我这意味着将始终显示页脚视图(这不是我想要的)
我终于使用了self.tableView.footerView = MyView。我在我的UIView上禁用了所有弹簧和结构设置,它非常适合。 (我之前已将其设置为最大化,希望在表中没有任何内容时使其最大化)
关于活动指示器的居中:如果UITableView中没有任何内容(通过检入numberOfRows),我最终将页脚视图设置为隐藏。如果发生这种情况,我会以编程方式在中心添加ActivityIndicator。
感谢所有答案!!
答案 1 :(得分:0)
您是否尝试在UITableview Footer的正确代理中执行此操作
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
答案 2 :(得分:0)
使用此代码在页脚中添加任何视图。 e.g。
- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, self.tblView.frame.size.width, 49)];
return footerView;
}