如何在 UITableView 中制作最终页脚?

Posted

技术标签:

【中文标题】如何在 UITableView 中制作最终页脚?【英文标题】:How to make final footer in UITableView? 【发布时间】:2018-06-27 05:49:03 【问题描述】:

我尝试在 UITableView 中创建一个页脚,就像在 ios 应用“联系人”中一样。

我有简单的 tableView 和简单的数组: 项目 = [“aa”、“bb”、“cc”、“dd”] 我想在最后一个单元格下留出空白空间。

我尝试添加这个cellForRowAt

 if indexPath.row == self.converterItems.count-1 
 cell.separatorInset = UIEdgeInsetsMake(0, cell.bounds.size.width, 0, 0)

但它只删除一个单元格的分隔符。

override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? 
        var header :UITableViewHeaderFooterView = UITableViewHeaderFooterView()

        header.contentView.backgroundColor = UIColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1)
        return header
    

这个方法看起来不错,但它在最后一个单元格下方丢失了分隔符...

【问题讨论】:

你的意思是 83kohtakta 标签作为页脚?? tableview. tableFooterView 有什么问题?? 是的。此单元格计算联系人总数,并且其下没有任何内容。我只是把它拖起来) @IvanKisin 你试过 tableFooter 视图吗?另请说明您尝试了哪些方法,以便我们更好地为您提供帮助。 @PallaviSrikhakollu 更新主题。 【参考方案1】:

您应该创建一个UIView 并将其分配给表格的页脚视图

myTableView.tableFooterView = createTableFooterView()

func createTableFooterView() -> UIView 
    let footerView = UIView()
    ...
    ...
    ...
    return footerView

【讨论】:

【参考方案2】:

为了让桌子没完没了。你最好设置UITableViewStyle.grouped

let tableView = UITableView(frame: CGRect.zero, style: .grouped)

然后:

extension ViewController: UITableViewDelegate, UITableViewDataSource

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
        return [].count//  your array
    

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
        let cell = tableView.dequeueReusableCell(withIdentifier: "", for: indexPath)
        // your cell
        // yourIdentifier, and you should register cell Identifier for tableView at first
        return cell
    

    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat 
        return CGFloat.leastNormalMagnitude
    

    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? 
        return ""
    

    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat 
        return 50
    

    func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? 
        return "83 KOH"
    

【讨论】:

它添加了页脚,但我怎样才能让它没完没了?

以上是关于如何在 UITableView 中制作最终页脚?的主要内容,如果未能解决你的问题,请参考以下文章

无论如何创建一个带有一个通用页脚的 UITableView 吗?

动画 UITableView 的页眉和页脚

如何在UITableView的页脚标题中使用换行符?

UITableView,如何修复页脚,使其在滚动时永远不会向上或向下移动?

如何在 Swift 中以粗体字体在 UITableView 页脚中选择单词?

如何在 splitViewController 的 RootViewController 中将页脚图像添加到 UITableView