TableView 页脚位置不正确
TableView footer not in correct location
我第一次尝试将页脚放在正确的位置,但是它太靠近前导边距,这让我添加了 1 个约束来解决这个问题。这样做会导致页脚位于页眉上方,这显然不是预期的行为。我想要做的就是在我第一次尝试的领先优势上增加 10 分。想法?
第一次尝试:
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
if section == 0 {
let label = UILabel()
label.text = "Your birth month is not set"
label.font = UIFont.preferredFont(forTextStyle: .footnote)
label.textColor = UIColor.gray
return label
}
return UIView()
}
第二次尝试:
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
if section == 0 {
let label = UILabel()
view.addSubview(label)
label.translatesAutoresizingMaskIntoConstraints = false
let constraints = label.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: 10)
NSLayoutConstraint.activate([constraints])
label.text = "Your birth month is not set"
label.font = UIFont.preferredFont(forTextStyle: .footnote)
label.textColor = UIColor.gray
return label
}
return UIView()
}
尝试输入此代码。根据您的要求进行框架更改。
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let headerView = UIView(CGRect(x: 0, y: 0, width: tableView.frame.width, height: 50))
let lblDate = UILabel(frame: CGRect(x: 10, y: 0, width: headerView.frame.width - 10, height: 50))
headerView.addSubview(lblDate)
lblDate.text = "text"
return headerView
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 50
}
我第一次尝试将页脚放在正确的位置,但是它太靠近前导边距,这让我添加了 1 个约束来解决这个问题。这样做会导致页脚位于页眉上方,这显然不是预期的行为。我想要做的就是在我第一次尝试的领先优势上增加 10 分。想法?
第一次尝试:
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
if section == 0 {
let label = UILabel()
label.text = "Your birth month is not set"
label.font = UIFont.preferredFont(forTextStyle: .footnote)
label.textColor = UIColor.gray
return label
}
return UIView()
}
第二次尝试:
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
if section == 0 {
let label = UILabel()
view.addSubview(label)
label.translatesAutoresizingMaskIntoConstraints = false
let constraints = label.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor, constant: 10)
NSLayoutConstraint.activate([constraints])
label.text = "Your birth month is not set"
label.font = UIFont.preferredFont(forTextStyle: .footnote)
label.textColor = UIColor.gray
return label
}
return UIView()
}
尝试输入此代码。根据您的要求进行框架更改。
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let headerView = UIView(CGRect(x: 0, y: 0, width: tableView.frame.width, height: 50))
let lblDate = UILabel(frame: CGRect(x: 10, y: 0, width: headerView.frame.width - 10, height: 50))
headerView.addSubview(lblDate)
lblDate.text = "text"
return headerView
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 50
}