非浮动UITableView页脚

时间:2017-09-12 10:50:42

标签: ios iphone swift uitableview cocoa-touch

我有一个UITableView带有一堆自定义单元格(每个单元格都有自定义高度和动态高度)。

我想在tableview中添加一个页脚视图,该视图始终位于tableView contentSize的底部。

如果contentSize大于屏幕大小,那么在tableView的底部(向下滚动,就像常规的最后一个单元格一样)。

如果contentSize小于屏幕大小,那么页脚仍将位于屏幕底部,并且从最后一个单元格到页脚将存在间隙。

我试图像这样添加一个页脚:

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let myFooterView = Bundle.main.loadNibNamed("MyFooterView", owner: self, options: nil)?.first as! MyFooterView
    myFooterView.delegate = self
    myFooterView.frame = CGRect(x: 0, y: 0, width: self.tableView.frame.size.width, height: 100)
    return myFooterView
}

但滚动时,页脚会浮动在底部。这不是我想要达到的目标。

任何想法如何才能达到我想要的非浮动页脚?

谢谢! :)

1 个答案:

答案 0 :(得分:2)

将视图作为子视图添加到表格视图中,并调整scrollView:didScroll:中的位置。为此,请将UIScrollViewDelegate的一致性添加到视图控制器。我认为UITabelViewController自动成为表格视图的委托(也是UIScrollView)。

棘手的部分是根据内容大小,内容偏移量,视图大小和页脚大小计算位置。