如何在iOS中的表视图底部创建固定单元格?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在iOS中的表视图底部创建固定单元格?相关的知识,希望对你有一定的参考价值。

我想在ios的表格视图底部制作一个固定的单元格,类似于HQ trivia iOS app的排行榜视图。

像这样:

答案

为了给出固定单元格的印象,您可以简单地将UITableView添加到常规UIViewController上,设置其约束以使其消耗整个视图,但是从屏幕底部停止(例如)60px。

使用与单元格具有相同UI的UIView填充剩余空间......就这样,桌面视图将滚动,并且“单元格”将始终在底部可见。

另一答案

我认为实现这一目标最简单,最干净的方法是在view的主要viewController中添加一个“单元格”子视图,并使用自动布局约束使其在tableView下修复:

NSLayoutConstraint.activate([
    tableView.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor),
    tableView.leftAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leftAnchor),
    tableView.rightAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.rightAnchor),
    // this will make sure tableView will be placed above bottomFixedFooter, and bottomFixedFooter won't overlay any content of the tableView
    bottomFixedFooter.topAnchor.constraint(equalTo: tableView.bottomAnchor),

    bottomFixedFooter.leftAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leftAnchor),
    bottomFixedFooter.rightAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.rightAnchor),
    bottomFixedFooter.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor),

    // explicitly set the height of the bottomFixedFooter, if it does not have intrinsic content size (or its size is not calculated
    // internally using autolayout)
    bottomFixedFooter.heightAnchor.constraint(equalToConstant: 50),
    ])
另一答案

正如西蒙提到的那样,我将页脚视图放在滚动视图的底部。我为页脚视图留出空间,以便在约束下固定在底部。

Example

以上是关于如何在iOS中的表视图底部创建固定单元格?的主要内容,如果未能解决你的问题,请参考以下文章

Swift iOS - 如何使 CollectionView 的单元格大小

使自定义单元格(使用自动布局创建)高度为零

iOS动态地将新单元格加载到表格视图的底部

使单元格粘在表格视图的底部

如何添加“对齐底部到:父视图”系统约束?

滚动时集合视图中的图像变高