Ich entwickle gerade eine iOS-Anwendung in Apples Swift.Wie kann der Bearbeitungsmodus der Tabellenansichtszelle in der Tabellenansicht beibehalten werden, selbst wenn die Tabellenansichtszelle aktualisiert wird?
Ich habe eine Tabellenansicht mit Tabellenzellen darin, von denen jedes die aktuelle Zeit eines Timers anzeigt (es ist kein echter Timer, es ist eigentlich nur ein Zeitstempel).
Die Anwendung selbst verfügt über einen Timer, der die sichtbare Zelle der Tabellenansicht mit den aktuellen Zuständen der Zellentimer aktualisiert.
Die Anwendung bietet die Möglichkeit, eine Zelle zu verschieben, die eine Schaltfläche zum Löschen erscheinen lässt.
Das Problem, mit dem ich konfrontiert bin, ist, dass die Schaltfläche Löschen sofort aufgrund der Tatsache verschwindet, dass die Zelle vom Timer der Anwendung aktualisiert wird. Hier
ist der Code, wo die Tabellenansicht Zellen aktualisiert werden:
// Update visible rows in table
func updateTable() {
// Get all visible cells
let cells = timerTable.visibleCells as! Array<TimerTableViewCell>
for cell in cells {
let indexPath = timerTable.indexPathForCell(cell)
cell.timeLabel.text = String(timerArray[indexPath!.row].getRemainingTimeAsString())
timerTable.reloadRowsAtIndexPaths([indexPath!], withRowAnimation: UITableViewRowAnimation.None)
}
}
Ich würde mich freuen, wenn jemand eine Lösung/Abhilfe für mein Problem haben würde.
Vielen Dank im Voraus.
Können Sie den Code anzeigen, wo Ihr Timer die Zelle aktualisiert? – pbasdf
@pbasdf Ich habe meinen Beitrag aktualisiert. – mian
Danke. Vermeiden Sie die Verwendung von 'reloadRowsAtIndexPaths': Es baut die Zelle vollständig neu auf und zerstört somit den Status" Löschen ". Der aktualisierte Etikettentext sollte angezeigt werden, ohne dass ein neuer Ladevorgang erforderlich ist. – pbasdf