UITableView页脚,停止浮动内容

时间:2011-04-21 06:44:23

标签: ios uitableview uikit

我想让我的UITableView Footer停止浮动我的内容,这是默认活动。我希望我的页脚是......好吧...一个页脚。始终是我的tableview末尾显示的最后一个视图。 :)

实际上标题也一样。

滚动时,是否有任何简单的方法可以禁止它浮动在表格视图的顶部?

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

8 个答案:

答案 0 :(得分:108)

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

但是,如果您使用viewForFooterInSection创建页脚,它将跟随您的视图并坚持在屏幕的底部。

不确定为什么我不能早点找到这个答案。对不起所有:))

答案 1 :(得分:29)

您有两种类型的页脚:一种是部分页脚,另一种是 tableview页脚

部分页脚在每个部分下方显示。另一方面, tableview页脚仅在tableview的末尾出现一次

没有单击方式可以禁用部分页脚的浮动。

如果你想要一个"页脚"它始终显示为其部分的最后一个单元格并固定在tableview的底部,您需要在您的部分添加一个额外的单元格,并始终将其视为您的部分的最后一个。

如果您在tableview中只有1个部分,则可以使用tableview页脚作为页脚。

答案 2 :(得分:3)

self.YOUR_TABLE_VIEW.tableFooterView = YOUR_FOOTER_VIEW;

答案 3 :(得分:1)

如果您将单元格划分为多个部分,并且正在使用以下功能:

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView?

设置页脚,然后在IB中,您还可以将UITableView样式设置为分组是另一种可能的解决方案!

答案 4 :(得分:0)

如果我的问题是正确的,你基本上想要修复页脚/标题并滚动其他内容?如果是这样,您可以将页眉和页脚作为表视图中的单独视图,它们位于视图层次结构中的tableview之上,因此它们涵盖了tableview的内容。

如果你希望它们在使用tableview时反弹(当在内容上方或下方滚动时),那么你需要跟踪tableview的方法(tableview是scrollview的子类,所以它可以工作)- (void)scrollViewDidScroll:并计算在那里的页脚或标题的新位置。

我希望你能得到我的答案,我已经做了类似的事情并且它有效(我想在桌面视图之上发布“发布更新”)

答案 5 :(得分:0)

我遇到了类似的问题。我只使用一个页脚来指示其底部表格中的单元格数量。但它并没有像我预期的那样滚动表格(它始终在桌面上可见,直到我到达底部然后反弹)。

我解决这个问题的方法是创建2个部分,一个包含表格单元格,另一个空白BUT包含标题。此标题将显示计数器,并将按照我的意愿运行(始终保持在表格底部而不是覆盖单元格。)

在我的情况下,在底部添加虚拟单元格的推荐解决方案是有用的,因为它将与表有线边界接壤,我不想这样做。

希望这有帮助

答案 6 :(得分:0)

在这里查看我的答案,https://stackoverflow.com/a/41816730/1553351。代码完全按照您在问题中描述的内容进行操作

答案 7 :(得分:-1)

#pragma mark - 有两种选择 -

  
      
  1. 使用UITableView委托

         

    效果:表格视图上的浮动页脚

  2.   
-(CGFloat)tableView:(UITableView *)tableView
heightForFooterInSection:(NSInteger)section{
    return HEIGHT;
}
-(UIView*)tableView:(UITableView *)tableView
viewForFooterInSection:(NSInteger)section{
    return FOOTERVIEW
}
  
      
  1. 使用表格视图的setter

         

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

  2.   
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;
//  }