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

时间:2018-02-28 15:31:11

标签: ios uitableview user-interface uiscrollview user-experience

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

像这样:

Leaderboard HQ trivia, fixed view in red rectangle

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

我认为实现这一目标最简单,最干净的方法是在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),
    ])

答案 2 :(得分:0)

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

Example