1

所以我在这里读到,我可以简单地将 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 的空间,以便 activityIndi​​cator 出现在中心。现在看起来是这样的:

在此处输入图像描述

我认为我的结构设置正确:

在此处输入图像描述

我怀疑在 UITableView 中有一个 UIView 可能会阻止视图最大化。

总结 对上述问题有什么建议吗?我为这个问题的长度道歉,但我觉得它们都与上面提到的同一个问题有关。

4

3 回答 3

1

我终于弄明白了。

关于@zing 和@Lithu 的答案,这很有效。但是,从此方法返回 footerView 会强制 footerView “粘”到 TableView 的底部。我的意思是始终显示页脚视图(这不是我想要的)

我终于使用了 self.tableView.footerView = MyView。我禁用了 UIView 上的所有 spring 和 struct 设置,它非常适合。(我之前已将其设置为最大化,希望在表格中没有任何内容时使其最大化)

关于居中活动指示器:如果 UITableView 中没有任何内容(通过检查 numberOfRows),我最终将页脚视图设置为隐藏。如果发生这种情况,我以编程方式在中心添加了 ActivityIndi​​cator。

感谢所有的答案!!

于 2013-03-30T00:11:53.733 回答
0

您是否尝试在 UITableview 页脚的正确委托中执行此操作

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
于 2013-03-28T11:18:13.527 回答
0

使用此代码在页脚中添加任何视图。例如

- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
       UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, self.tblView.frame.size.width, 49)];
       return footerView;
    }
于 2013-03-29T05:27:22.540 回答