2013-03-28 111 views
1

因此,我阅读here,我可以简单地将UITableViewCell拖放到故事板中的UITableViewController底部,并使其充当页脚。这个页脚行中有一个活动指示符就是它。它的宽度是320,高度是55,指示器居中排列。请注意,这是一个UIView而不是一个UITableViewCell,因为我只能让它与前者一起工作。在UITableView中实现页脚的正确方法

第一个,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将出现在中心。现在,这是它的外观:

enter image description here

我觉得我有结构设置正确:

enter image description here

我怀疑有一个UITableView内一个UIView可能会阻止该视图的最大化。

摘要 对上述问题的任何建议?我对这个问题的长度表示歉意,但我觉得它们都与上述相同的问题有关。

+0

首先,UITableView页眉和页脚可以接受任何UIView或它的子类。因此添加一个UIView,是非常好的。 其次,你正在描述的页脚,没有任何意义。 页脚始终是UITableView中的最后一个元素。告诉我们你的代码为UITableView数据源和委托方法。 第三,我不知道为什么你要使用的页脚视图作为负载指标,而不是一个UIView,将覆盖在UITableView的,但在这种情况下,只需关闭活动指示灯的垂直自动调整大小,和删除顶部和底部对齐设置。 – Lefteris 2013-03-28 11:29:55

+0

也许愚蠢的问题,这种行为与设置'tableFooterView'属性有什么不同? – 2013-03-29 05:33:59

回答

1

我终于明白了。

关于@zing和@Lithu的答案,这工作。但是,从此方法返回footerView将强制footerView“粘”到TableView的底部。通过这个我的意思是脚注将始终显示(这不是我想要的)

我终于使用self.tableView.footerView = MyView。我禁用了我的UIView上的所有弹簧和结构设置,它非常适合。(我以前将其设置为最大程度地希望能有当在该表没有它最大化)

关于中心活动指示灯:我结束了页脚视图设置为隐藏,如果有什么在UITableView中(通过检查在numberOfRows中)。如果发生这种情况,我以编程方式在中心添加了ActivityIndi​​cator。

感谢您的所有答案!

0

你尝试做到在适当的委托UITableView的页脚

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
0

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

- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { 
     UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, self.tblView.frame.size.width, 49)]; 
     return footerView; 
    } 
+0

如果UIActivityIndi​​cator位于中心(或其他位置)并且用户将设备旋转到横向方向,该怎么办?如果你有一堆内容,你需要手动对齐它们或写自动布局代码,对吧? – 2013-10-03 13:50:35

相关问题