Bitte nimm mich mit, da ich neu bei iOS bin. Ich habe einen TableView, der zwei verschiedene Abschnitte hat, einen für die Einzelauswahl und einen weiteren für die Mehrfachauswahl. Ich habe auch zwei verschiedene benutzerdefinierte Zellen für das selbe gebaut. Ich bin in der Lage, Mehrfachauswahl richtig zu machen, aber nicht die einzelne Auswahl.Swift - Einzel- und Mehrfachauswahl in derselben TabelleView
Ich verwende die Überschreibung setSelected
von der Tabelle View Cell für einzelne und mehrere Auswahl.
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
if selected {
//make label red
}
} else {
//make label white
}
}
jedoch das Problem, das ich bin vor, dass, wenn ich auf multiple Zelle Abschnitt klicken, wird der setSelected
ovveride meiner singleSelectionCell aufgerufen wird und es markiert das Etikett weiß. Wenn eine Zelle in singleSelection bereits ausgewählt ist, muss ich sie auf diese Weise beibehalten.
Ich schaute auf diese Antwort, aber ich bin mir nicht sicher, wie das geht. https://stackoverflow.com/a/32857181/4863339
Kann mir bitte jemand helfen, dieses Problem zu beheben?
Ausgewählte Eigenschaft der Zelle funktioniert nicht als Abschnittsauswahl, Sie müssen den Zustand der Auswahl mit 'cellForRowAt' beibehalten. –
Danke antworten. Korrigiere mich, wenn ich falsch liege, aber ich habe versucht, etwas in 'cellForRowAt' zu tun, aber es wird nicht aufgerufen, wenn ich auf Zelle klicke. Könnten Sie bitte mehr darüber erfahren, wie man den Staat retten kann? –
Sie können eine Instanzeigenschaft des Typs 'IndexPath' in Ihrem' ViewController' für den Einzelauswahlbereich und für den Mehrfachauswahlbereich ein Array von 'IndexPath' erstellen und ein Objekt in der' didSelectRowAt' Methode hinzufügen/entfernen. –