2011-04-21 60 views
59

我想使我的UITableView页脚停止浮动在我的内容上,就像默认活动一样。我希望我的页脚成为..好..页脚。总是在我的tableview结尾处显示的最后一个视图。 :)UITableView页脚,停止浮动内容

实际上与标题相同的东西。

有没有简单的方法,从漂浮在你滚动表视图的顶部禁用它?

谢谢大家,我在其他地方找不到答案。

回答

103

好吧,事实证明,如果您通过blahblahtableView.tableFooterView = someview;设置页脚视图,页脚不会随表格一起滚动。

但是,如果您创建使用viewForFooterInSection您的页脚,它会跟随左右你的观点,并贴在屏幕的底部。

不知道为什么我无法尽快找到答案。对不起所有:)

+42

这些是两个不同的东西:tableFooterView是整个表的页脚viewForFooterInSection是给定部分的页脚 – user102008 2011-09-28 02:16:21

+1

如果我在表格视图中有多个部分会怎样? – nonamelive 2012-02-09 13:38:59

+14

实际上是反转。要让页脚在表格上方浮动,您需要使用'viewForFooterInSection',否则如果您有页脚粘在底部并滚动表格,您需要'self.tableView.tableFooterView = footerView'。 – 2013-06-16 03:09:32

0

如果我有问题吧,你基本上要修复的页脚/头的地方,滚动一切?如果是这样的话,你可以将header和footer作为独立于tableview的视图,它们位于视图层次结构的tableview之上,因此它们覆盖了tableview的内容。

如果你希望他们反弹与实现代码如下(上面或下面的内容滚动时),那么你需要跟踪的tableview的方法(的tableview是滚动型的子类,所以它的工作原理)- (void)scrollViewDidScroll:和计算新位置在那里的页脚或标题。

我希望你得到我的回答,我已经做了类似的东西,这和它的工作(我想要的“发布更新”之类的啄对的tableview的顶部)

+0

而是相反......我想页脚/头基本上充当在各方面的tableview的第一个和最后一个单元格:)...我有点如果你的回答能够帮助实现这一点,那么就会模糊不清。 – Jason 2011-04-21 07:29:23

+0

那有什么问题?只要让他们成为第一个也是最后一个细胞,就是这样。或者你可以简单地将它们作为headerView/footerView。我错过了什么或者你没有说什么? :P – 2011-04-21 07:32:13

+0

那么问题是我需要他们有一个特定的高度,不同于其他的单元格,我不想承担运行cellheightforrow方法的负担(文档状态在大表中有一个性能退化)---有他们作为标题/ footerview?我使用viewForFooterInSection将它们作为页眉/页脚视图...但在滚动表格时它会粘贴到屏幕的底部;( – Jason 2011-04-21 07:35:36

0

我有类似的问题。我只用了一个页脚来指示表格底部的单元格数量。但是,它并没有像我预期的那样随着桌子的滚动而滚动(它在桌子顶上始终可见,直到我到达底部时它才反弹)。

我的解决方案来克服这个是创建2个部分,一个包含表的细胞和另一空的,但与标题。此标题将显示计数器,并将按照我的意愿行事(始终保持在表格底部而不是覆盖单元格)。

在底部增加一个虚拟池的推荐的解决方案是不是在我的情况下非常有用,在将它与毗邻的台有线边境,我不希望出现这种情况。

希望这有助于

3
self.YOUR_TABLE_VIEW.tableFooterView = YOUR_FOOTER_VIEW; 
18

你有2种类型的页脚:一个是页脚节,另一个是的tableview页脚

的下面各段的出现部页脚。在另一边,的tableview页脚似乎只是一次在的tableview结束。

没有1次点击的方式关闭部分页脚的浮动。

如果你想要一个总是作为其最后一个单元格出现的“页脚”,并且固定在tableview的底部,你需要在你的部分添加一个额外的单元格,并始终将它视为最后一个单元格你的部分。

如果你只是在你的tableview 1个部分中,您可以使用的tableview页脚是你的页脚。

+0

这应该是被接受的答案 – budidino 2017-02-10 00:36:37

+0

分组与普通桌子样式对我来说是诀窍。 – BonanzaDriver 2018-03-03 18:55:35

-1

的#pragma马克 - 有两个选择这样做 -

  1. 使用的UITableView委托

    影响:在一个表视图

浮动页脚
-(CGFloat)tableView:(UITableView *)tableView 
heightForFooterInSection:(NSInteger)section{ 
    return HEIGHT; 
} 
-(UIView*)tableView:(UITableView *)tableView 
viewForFooterInSection:(NSInteger)section{ 
    return FOOTERVIEW 
} 
  • 使用表格视图

    效果的制定者:在最后一个单元格的底部附

  • theTableView.tableFooterView = YOURFOOTERVIEW 
    
    // Do not set this delegate 
    // or you would get a extra blank at the bottom of the table 
    
    // -(CGFloat)tableView:(UITableView *)tableView 
    // heightForFooterInSection:(NSInteger)section{ 
    // return HEIGHT; 
    // } 
    
    15
    - (id)init { 
        self = [self initWithStyle:UITableViewStyleGrouped]; //Default is UITableViewStylePlain 
        return self; 
    } 
    
    +5

    这也可以使用storyBoard,谢谢+1来完成 – 2016-08-02 06:16:00