如何在Swift中更改tableViewCell中标签的文本颜色?

时间:2017-11-27 10:31:40

标签: swift uitableview

我在tableViewCell中有一个标签是“lblProjeDurumu”。我从soap webServices获取数据到此标签。数据是“Devam Ediyor”或“Başlamadı”。 我希望如果传入的数据是“Devam Ediyor”,则lblProjeDurumu的textColor为绿色,如果传入的数据为“Başlamadı”,则lblProjeDurumu的textColor为红色。我的代码在这里。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "projelerCell", for: indexPath) as! ProjelerCell

    cell.contentView.backgroundColor = UIColor(white: 0.95, alpha: 1)

    // Fill the projeler cell

    cell.lblProjeAdi.text =  ( projeler.object(at: indexPath.row) as AnyObject ).value(forKey: "Proje_Adi") as? String

    cell.lblProjeDurumu.text =  ( projeler.object(at: indexPath.row) as AnyObject ).value(forKey: "Durumu") as? String

    cell.lblTarih.text =  ( projeler.object(at: indexPath.row) as AnyObject ).value(forKey: "Kayit_Tarihi") as? String

    if ( cell.lblProjeDurumu.text == "Başlamadı"){
        cell.lblProjeDurumu.textColor = UIColor.red
    }
    else if ( cell.lblProjeDurumu.text == "Devam Ediyor"){
        cell.lblProjeDurumu.textColor = UIColor.green
    }

    return cell

}

但没有变化。 lblProjeDurumu的textColor仍然是默认颜色。如何根据传入的数据更改tableViewCell中的Label的textColor。

1 个答案:

答案 0 :(得分:0)

只有在您设置的任何条件下进入时,才会更改颜色。你有没有检查过这些条件是否正在执行?

if ( cell.lblProjeDurumu.text == "Başlamadı"){
    cell.lblProjeDurumu.textColor = UIColor.red
}
else if ( cell.lblProjeDurumu.text == "Devam Ediyor"){
    cell.lblProjeDurumu.textColor = UIColor.green
}