Wie kann ich eine Abschnittskopfansicht in einem UITableView aktualisieren / neu laden / aktualisieren?

9

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.

    
user1173126 09.08.2012, 18:29
quelle

2 Antworten

2

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.

    
Mike 18.01.2014 02:30
quelle
1

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

%Vor%

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.

editieren

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.

    
czechboy 24.01.2014 00:03
quelle

Tags und Links