Swift:UITableView Section Heading样式

时间:2018-04-17 08:42:25

标签: swift uitableview

我有一个UITableView有几个标题,但字体大小比我想要的大得多:

enter image description here

我在系统首选项中看到Apple使用较小字体大小的大写标题,底部对齐如下:

enter image description here

我知道我可以使用viewForHeaderInSection来创建我自己的布局,但我的问题是有一个简单的选项可以调用这个标准的操作系统风格,而不需要重新发明轮子吗?

2 个答案:

答案 0 :(得分:2)

对于较小的字体大小和底部对齐的系统首选项,Apple使用大写的节标题,我们必须使用UITableView的委托方法。

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

        let headerView = UIView()
        headerView.backgroundColor = UIColor.lightGray

        let sectionLabel = UILabel(frame: CGRect(x: 8, y: 28, width:
            tableView.bounds.size.width, height: tableView.bounds.size.height))
        sectionLabel.font = UIFont(name: "Helvetica", size: 12)
        sectionLabel.textColor = UIColor.black
        sectionLabel.text = "NETWORK SETTINGS"
        sectionLabel.sizeToFit()
        headerView.addSubview(sectionLabel)

        return headerView
    }

    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 50
    }

您可以使用此方法设置自定义字体系列和节标题的对齐方式。

viewForHeaderInSection方法仅用于设置默认字体系列和节标题的对齐方式。

希望这会对你有所帮助。

答案 1 :(得分:1)

结果很简单:

enter image description here

您只需选择' Grouped'风格。