Ich habe eine UITableView mit einer benutzerdefinierten UITableViewCell. In cellForRowAtIndexPath weise ich einer Beschriftung in jeder Zelle eine Schriftart zu, da der Benutzer die Schriftgröße jederzeit ändern kann. Um die Schriftgröße zu ändern, klickt der Benutzer auf eine Schaltfläche unter der Tabellenansicht, die eine andere Ansicht mit Einstellungen anzeigt. Sobald sie eine Schriftgröße ausgewählt haben und auf "Fertig" klicken, wird diese Ansicht entfernt und die Tabellenansicht wird erneut angezeigt. Ich zeige eine Zelle pro Sichtfläche an. Der Benutzer sieht die Änderung der Schriftart erst, wenn er zur nächsten Zelle scrollt. Die aktuelle Zelle ist diejenige, die ich aktualisieren möchte.Wie aktualisiert man UITableViewCell?
Ich habe ReloadData aus dem Einstellungsbildschirm versucht, aber das hat nicht funktioniert. Die Tabellenansicht ist ein UITableViewController, aber viewWillAppear wird nie ausgelöst, wenn der Einstellungsbildschirm nicht mehr angezeigt wird. Ich habe versucht, die benutzerdefinierte Zelle zu einer Eigenschaft der Tabellenansicht zu machen, so dass auf sie über die Einstellungsansicht zugegriffen werden kann, und dann setNeedsDisplay und setNeedsLayout aufgerufen wird. Die haben auch nicht funktioniert. Irgendwelche Vorschläge?
Ich habe Ihren Code in der Ansicht Einstellungen versucht, aber immer noch keine Änderung an der aktuellen Zelle, sobald die Tabellenansicht angezeigt wird. Wenn ich nur reloadData in der Tabellenansicht aus der Einstellungsansicht aufruft, funktioniert es einwandfrei. Dies scheint jedoch ein sehr teurer, übertriebener Weg zu sein. – 4thSpace
Ich habe meine Antwort bearbeitet, nachdem ich das Problem besser verstanden habe. –
Vielen Dank! – Luda