Frage

Ich habe eine benutzerdefinierte UITableViewCell, die ein UISlider-Steuerelement und einen UILabel enthält, die den aktuellen Textwert für die Schieberposition zeigt. Ich mag das Etikett aktualisieren, da der Schieberknopf gezogen wird. Hier sind die grundlegenden Elemente.

cellForRowAtIndexPath: Diese Routine nimmt Daten und aktualisiert den Slider-Wert und das Etikett mit ihm verbunden ist.

sliderValueChanged: Diese Routine liest der Schieber Wert die Daten aktualisiert. Es ruft dann [Tabelle reload] so das Etikett aktualisiert wird.

Problem: Irgendwie ist der reloadunterbricht den Fluss des Updates. Wenn ich NSLog statt reload ersetzen bekomme ich einen schönen Strom von Updates den Wert des Schiebers zeigt. In einem Versuch, setzen zu verhindern Looping ich in Tests nicht den Regler Wert gesetzt oder reload nennen, es sei denn der Wert anders war. Das ist nicht die Dinge beheben.

Jede Hilfe wäre sehr geschätzt werden!

War es hilfreich?

Lösung

Das Problem wird durch die [Tabelle reload] verursacht wird, die Aufgabe die Schaffung einer neuen Zelle so zu sein scheint, aktualisiert der gleiche Schieber funktionieren nicht. Die korrekte Umsetzung war die referenzierte Zelle in der sliderValueChanged Routine zu bekommen und das Etikett von dort eingestellt. Legen Sie einen Tag an den Regler, um die Zeile zu markieren und dann die Methode rufen Sie die Zelle mit dem Index-Pfad zu erhalten.

Andere Tipps

Stuff wie dies mir passiert ist. Gehen Sie Einstellungen zu bauen und suchen Sie nach einem Compiler namens Markiert „-Punkt Bibliothek Anrufe werden variable“. Stellen Sie sicher, dass es deaktiviert. Sehen, ob das Ihnen hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top