如何在titleForHeaderInSection中设置颜色? -迅速

时间:2014-09-17 21:24:02

标签: swift tableview

我的tableview中有两个部分,我想为tableView的不同sectionHeaders设置不同的颜色,我该怎么做?

func tableView(tableView: UITableView!, titleForHeaderInSection section: Int) -> String! {
    if (section == 0) {
        return "Item1"
    }
    if (section == 1) {
        return "Item2"
    }
}

2 个答案:

答案 0 :(得分:5)

与Objective-C中的方式相同:提供带标签的自定义标题并更改其文本颜色

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


    var label : UILabel = UILabel()
    if(section == 0){
        label.text = "Item1"
    } else if (section == 1){
        label.textColor = UIColor.orangeColor()
        label.text = "Item2"
    }
    return label
}

答案 1 :(得分:1)

Swift 5.1

func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    if section == 0 {
        return "Section 1"
    } else {
        return "Section 2"
    }
}

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

    let label = UILabel()

    if section == 0 {
        label.text = "Sectionn 1"
    } else {
        label.text = "Section 2"
    }

    return label

}

并且不要忘记为视图设置高度

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