Ich versuche, die Farbe einer Beschriftung (oder Beschriftungen) in einer Zelle zu ändern, wenn der Wert von alarmLevel! = "0" ist. Dies ist, was ich bisher habe, und es ändert die Farbe der cell.locationLabel in allen Zellen statt nur derjenigen, die die if-Anweisung erfüllen. Ich bin mir sicher, dass es etwas mit dem IndexPath zu tun hat, aber ich kann es nicht herausfinden.Textfarbe der Beschriftung in der Zelle mit der Anweisung if
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = myTableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as! ViewControllerTableViewCell
cell.locationLabel.text = eventsList[indexPath.row].location
cell.eventTimeLabel.text = eventsList[indexPath.row].dateTime
cell.eventTypeLabel.text = eventsList[indexPath.row].agencyEventSubtypeCode
cell.agencyIdLabel.text = eventsList[indexPath.row].agencyId
if alarmLevel != "0" {
cell.locationLabel.textColor = UIColor.red
} else {
cell.locationLabel.textColor = UIColor.black
}
return cell
}
Bitte Ihr Problem erklären wir Ihnen – user3601599
machen helfen möchte ich die Etiketten von nur die Zelle, die Alarmstufe ist! = 0 sein rot . Der obige Code macht die Beschriftungen in allen Zellen rot, was ich NICHT möchte. – jvan
Sie scheinen für jede Ausführung von 'tableView (_: cellForRowAt:)' denselben 'alarmLevel'-Wert zu verwenden. Vielleicht möchten Sie den entsprechenden Wert verwenden, ähnlich wie bei den anderen Eigenschaften. – Cristik