如何在 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 它。
您可以使用 heightForFooterInSection
和 viewForFooterInSection
委托在 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
}
我想创建页脚作为附加信息。是这样的:
我试着给一个页脚,但它显示了一个标题,而且是粗体。 这个页脚的字号比较小,而且页脚的背景好像在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 它。
您可以使用 heightForFooterInSection
和 viewForFooterInSection
委托在 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
}