2017-11-27 1 views
0

Ich habe eine Bezeichnung in tableViewCell, die "lblProjeDurumu" ist. Ich erhalte Daten von soap webServices zu diesem Label. Die Daten sind "Devam Ediyor" oder "Başlamadı". Ich möchte, dass, wenn die eingehenden Daten "Devam Ediyor" ist, die TextColor von LblProjeDurumu grün ist, wenn die eingehenden Daten "Başlamadı" ist, ist TextColor von LblProjeDurumu rot. Mein Code ist hier.Wie ändere ich die Textfarbe des Etiketts in tableViewCell in Swift?

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 

} 

Aber es gibt keine Veränderung. Die textColor von lblProjeDurumu ist immer noch Standardfarbe. So ändern Sie die textColor of Label in tableViewCell entsprechend eingehender Daten.

+0

Haben Sie versucht, Haltepunkte im 'if' und im' else if' Block hinzuzufügen? Vielleicht haben Sie weiße Leerzeichen in der Zeichenfolge. In diesem Fall schlägt der Vergleich fehl. – dasdom

+0

Vielen Dank für Ihre Antwort. Ich behebe das Problem. Wie Sie gesagt haben, gibt es ein Leerzeichen in der Zeichenfolge. Ich habe "Başlamadı" mit "Başlamadı" und "Devam Ediyor" mit "Devam Ediyor" geändert, damit das Problem behoben ist. –

Antwort

0

Ihre Farbe wird nur geändert, wenn eine der von Ihnen festgelegten Bedingungen eintritt. Haben Sie überprüft, ob diese Bedingungen tatsächlich ausgeführt werden?

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

True, aber immer noch nicht kommentieren können :( – Oxthor

+0

Oh, ich sehe. Sorry. – dasdom

+0

Vielen Dank für Ihre Antwort. Ich behebe das Problem. Es ist ein Leerzeichen in der Zeichenfolge. Ich änderte "Başlamadı" mit "Başlamadı" und "Devam Ediyor "mit" Devam Ediyor "ist das Problem also behoben. –

Verwandte Themen