Ich bin bereit, eine bestimmte Header-Ansicht meiner UITableView zu ändern, wenn ich auf eine Zeile klicke.
Ich habe alle Beiträge darüber gelesen. Ich habe versucht "reloadData", "setNeedDisplay", "reloadSections: withRowAnimation:", und einige andere Ideen ... es gibt nichts zu tun. Meine Header-Ansicht wird entweder nicht aktualisiert, oder es werden seltsame Dinge wie das Aktualisieren nur ausgeführt, wenn ich die Tabellenansicht verschiebe (was ich nicht erreichen möchte).
Mein Code sieht jetzt so aus (bezüglich der Delegate-Methoden von UITableView):
%Vor%Was ich tun möchte, ist, wenn ich auf eine Zeile klicke, das Abschnittskopfupdate, so dass es eine neue Schaltfläche mit dem Zeilentext enthält. Dann verwerfe ich die Zeile und lade neue Daten in den Abschnittzeilen neu. Ich habe es geschafft, die Reihen perfekt zu handhaben. Aber ich kann keine Möglichkeit finden, diese Header-Ansicht zu aktualisieren.
Thx für irgendeine Idee.
Sie ändern es einfach direkt. Ich habe eine Instanzvariable in der Header-Datei für eine Bezeichnung erstellt, die ich in die Ansicht der Kopfzeile einfügen werde, die ich erstellen werde:
%Vor%Und in meiner tabellarischen Ansicht, wenn sie eine Zeile auswählen, rufe ich eine Funktion auf, die einfach den Text auf dem Etikett ändert:
%Vor%Daraus ergibt sich Folgendes:
Wenn Sie irgendwelche Fragen haben, lassen Sie es mich wissen! Dies ist nur ein kurzes Beispiel, um es zu demonstrieren, aber Sie möchten vielleicht die Ansicht auf andere Weise anpassen. Dies sollte Ihr Problem zumindest lösen und Ihnen einen Ausgangspunkt zum Arbeiten geben.
Haben Sie reloadRowsAtIndexPaths:withRowAnimation:
ausprobiert, wo Sie die Eigenschaft row
des NSIndexPath
als NSNotFound
festgelegt haben? So würde zum Beispiel nur der Header von Abschnitt 3 neu aussehen, wie
Ich garantiere nichts, aber ich bin mir ziemlich sicher, dass es vorher funktioniert hat, weil ich es ein paar Mal benutzt habe.
Aber selbst wenn es funktioniert, ist es immer noch ein Hack, den Apple jederzeit kaputt machen könnte.
Ok, macht nichts. Ich habe das mit iOS 7 in Xcode 5 versucht und aus irgendeinem Grund, sogar mit NSNotFound
als Zeilennummer, lädt es immer noch die ganzen Sektionen (mit all seinen Zellen) neu. Das funktioniert also nicht mehr, verdammt.
Tags und Links uitableview header