如何在Swift中调整TableView标头的缩进量?

Lau*_*les 3 uitableview tableview ios swift

我知道如何设置标题文本并设置其样式,但是对于我来说,我找不到能解释如何调整文本缩进的任何内容。这是我尝试的:

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int){
    let header = view as! UITableViewHeaderFooterView
    header.textLabel?.translatesAutoresizingMaskIntoConstraints = false
    header.textLabel?.leftAnchor.constraint(equalTo: header.leftAnchor, constant: 15).isActive = true
}
Run Code Online (Sandbox Code Playgroud)

上面的代码(以及我尝试过的每个变体)都会导致错误:

由于没有共同祖先,因此无法激活约束。

这使我对计算机说:“如果header.textLabel让我进入UILabel,并且header的确是UITableViewHeaderFooterView,我认为您应该知道一个人是另一个人的祖先!”

Joh*_*rry 5

您可以这样设置:首先separatorInset为整个设置TableView

let headerInset: CGFloat = 50
tableView.separatorInset = UIEdgeInsets.init(top: 0, left: headerInset, bottom: 0, right: 0)
Run Code Online (Sandbox Code Playgroud)

然后,如果您想将表格的单元格定位为与的边缘对齐,则TableView可以在forRowAt indexPath方法中执行以下操作:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {

    cell.separatorInset = UIEdgeInsets.zero

}
Run Code Online (Sandbox Code Playgroud)