更改表头部分的字体

时间:2017-07-11 04:03:07

标签: ios swift uitableview

任何人都可以帮我解决viewForHeaderInSection中缺少的代码吗?

我是否必须创建UILabel?

应该怎样做才能更改表头部分的字体?

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{
    return 55.0;//Choose your custom row height
}

func numberOfSections(in tableView: UITableView) -> Int {
    return self.hoursArray.count
}

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

    //Code missing!

}

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

    return self.hoursArray[section]
}

3 个答案:

答案 0 :(得分:2)

删除此功能,它应该使用默认标签。

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


}

对于自定义标题,您可以在此返回任何视图,这是UIlabel的一个示例。

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView {
    let label = UILabel.init(frame: CGRect.init(x: 0, y: 0, width: tableView.frame.size.width, height: 30))
    label.textColor = UIColor.red
    label.text = self.hoursArray[section]
    return label
}

答案 1 :(得分:2)

不要同时实施viewForHeaderInSectiontitleForHeaderInSection。如果您想要标头的自定义视图,只需实现viewForHeaderInSection方法。而且你还需要实现heightForHeaderInSection否则标题不会出现。

通常,您创建,设置并返回UITableViewHeaderFooterView的实例,但您也可以根据需要创建UILabel设置。

答案 2 :(得分:0)

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView 
{
let label = UILabel(frame: CGRect.init(x: 0, y: 0, width: tableView.frame.size.width, height: 30)
label.text = "I'am a test label"
label.font = UIFont(name: "Arial", size: label.font.pointSize)
return label
}