Ich versuche, ein UIPageViewController
einzurichten, das unbegrenzt scrollen kann, indem Seitenansichten dynamisch über einen NSUrlConnection
-Datenzug geladen werden. Ich beginne mit 3 Ansichten: prev, curr, next; und laden Sie eine zusätzliche Ansicht, wenn die erste oder letzte Ansicht im Array pageData
erreicht ist.
Das Problem ist, dass ich die zusätzlichen Ansichten in viewControllerBeforeViewController
oder viewControllerAfterViewController
lade. Es scheint, dass diese Methoden 2-3 mal aufgerufen werden können, wenn ein einzelner Swipe zwischen Seiten durchgeführt wird. Sie können auch während einer halben Wischbewegung aufgerufen werden, die den Seitenübergang nicht beendet. Dies kann bedeuten, dass mehrere Vorladungen vorzeitig ausgeführt werden. Irgendwie vergisst der pageViewController
den aktuellen Standort.
Diese Zeile wird unten verwendet, um eine Addition von Daten in pageViewController
zu signalisieren und zu einer entsprechenden Ansicht zu gehen. Wenn ich anfange, es zu benutzen, anstatt mit einem Swipe zur vorherigen / nächsten Ansicht zu gehen, springt es zu scheinbar zufälligen Ansichten. Einmal fing ich an vorwärts zu gehen, wenn ich rückwärts wischte ...
Gibt es einen geeigneteren Speicherort für das Preload, der nur einmal nach dem Seitenübergang aufgerufen wird? Und, muss die obige Zeile aufgerufen werden, oder gibt es einen zuverlässigeren Weg, um sicherzustellen, dass es auf die richtige Seite geht? Ich bin frustriert, wenn ich versuche, das hier zu verkabeln.
%Vor%UPDATE:
Dank der schnellen Antwort unten, die auf eine großartige Funktion verweist, war mir nicht bewusst. Hier ist die Preload-Methode, die so perfekt nur einmal nach dem Übergang aufgerufen wird. Dies scheint das unzuverlässige Herumspringen von Ansichten und das Vergessen des Ortes sehr geklärt zu haben. Danke @sha!
%Vor%Tags und Links objective-c ios uipageviewcontroller