如何在 table 视图 swift 中添加页脚作为附加信息

How to add footer as additional information in table view swift

我想创建页脚作为附加信息。是这样的:

我试着给一个页脚,但它显示了一个标题,而且是粗体。 这个页脚的字号比较小,而且页脚的背景好像在table外面。 我该怎么做?

这是我的一些代码

override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let footerView = UIView()
    if section == 1 {
        let label = UILabel()
        label.text = "Additional information here"
        label.font = .systemFont(ofSize: 16)
        label.textColor = UIColor.black
        label.backgroundColor = UIColor.clear
        label.textAlignment = .left
        footerView.addSubview(label)
    }
    return footerView
}

更新:

我得到了屏幕最左边的边距。

任何帮助将不胜感激

谢谢

使用 viewForFooterInSection 返回自定义 UILabel:

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let label = UILabel()
    label.numberOfLines = 0
    label.text = "Your text"
    label.textColor = .gray
    return label
}

您可以通过为 UILabel:

设置约束来修复您的代码
let footerView = UIView()
if section == 1 {
  let label = UILabel()
  label.text = "Additional information here"
  label.font = .systemFont(ofSize: 16)
  label.textColor = UIColor.black
  label.backgroundColor = UIColor.clear
  label.textAlignment = .left
  footerView.addSubview(label)
  label.translatesAutoresizingMaskIntoConstraints = false
  label.topAnchor.constraint(equalTo: footerView.topAnchor).isActive = true
  label.leftAnchor.constraint(equalTo: footerView.leftAnchor).isActive = true
  label.rightAnchor.constraint(equalTo: footerView.rightAnchor).isActive = true
  label.bottomAnchor.constraint(equalTo: footerView.bottomAnchor).isActive = true
}
return footerView

但是简单地使用 UILabel 更简单,因为 UILabel 也是一个 UIView,您可以直接 return 它。

您可以使用 heightForFooterInSectionviewForFooterInSection 委托在 TableView 中添加页脚视图。您可以自定义 UILabel.

的值

仅为要添加页脚视图的相关部分创建并return标签和相关高度。

override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return section == 1 ? 20 : CGFloat.Magnitude.leastNonzeroMagnitude
}

override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    if section != 1 { return nil }
    let label = UILabel()
    label.numberOfLines = 0
    label.text = "Additional information here"
    // customize font and colors.
    label.font = .systemFont(ofSize: 16)
    label.textColor = UIColor.black
    label.backgroundColor = UIColor.clear
    label.textAlignment = .left
    return label
}