swift2 Swift -更改TableView中页眉节标题的垂直对齐方式

50few1ms  于 2022-11-06  发布在  Swift
关注(0)|答案(3)|浏览(193)

我使用以下代码填充函数的头:

func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {

    switch section {

    case 0: "SECTION 0"

    case 1: "SECTION 1"

    default: break

    }

    return nil
}

func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int)
{
    var title = UILabel()
    title.font = UIFont(name: "HelveticaNeue-Light", size: 12)!
    title.textColor = UIColor.blackColor()

    let header = view as! UITableViewHeaderFooterView
    header.textLabel?.font=title.font
    header.textLabel?.textColor=title.textColor
    header.backgroundView?.backgroundColor = UIColor.whiteColor()

}

现在,我希望能够更改节中标题的垂直对齐方式,如下图所示:
Changing the vertical alignment of the title in the section of the TableView
我怎么能那样做呢?

f1tvaqid

f1tvaqid1#

不幸的是,没有办法垂直对齐UILabel.This中的文本,所以后进入更多的细节。
但是,通过将标签添加到父UIView并将其约束到底部,可以实现类似的效果。

let headerView = UILabel(frame: CGRect(origin: CGPointZero, size: CGSize(width: self.view.frame.width, height: 50)))
let label = UILabel(frame: CGRect(x: 0, y: 20, width: self.view.frame.width, height: 30))
label.text = "Some Text"
headerView.addSubview(label)
return headerView
olhwl3o2

olhwl3o22#

我会建议添加一个页脚,如果你想把你的标签下降一点。

ghhkc1vu

ghhkc1vu3#

这段代码将垂直对齐标签,不确定这是一个很好的方法,但肯定工作。你宁愿创建一个视图,并使用viewForHeaderSection。

guard let header = view as? UITableViewHeaderFooterView else { return }
header.translatesAutoresizingMaskIntoConstraints = false
header.textLabel?.translatesAutoresizingMaskIntoConstraints = false
header.textLabel?.centerYAnchor.constraint(equalTo: header.contentView.centerYAnchor).isActive = true

相关问题