Ich habe viele, viele Orte gesucht und muss noch einen guten Beispielcode finden, der zeigt, wie man die "nächste" Seite in einem UIPageViewController vorlädt. Es gibt ein paar Antworten auf SO, die einige theoretische Wege beschreiben, dies zu tun (siehe this question), aber bisher hat noch niemand ein funktionierendes Beispiel veröffentlicht.Nächste Seite in UIPageViewController laden
Im Arbeitsablauf meiner App zeige ich 1 Seite pro Bildschirm an und ich möchte den "nächsten" Bildschirm vorinstalliert haben, weil das Swipen auf die nächste Seite sehr langsam sein kann und manchmal 2 Swipes erfordert (wenn Sie wischen zu schnell), damit die nächste Seite gerendert und angezeigt wird. Dies führt zu einer schlechten Benutzererfahrung. Es ist mir nicht wirklich wichtig, die "vorherigen" oder andere Bildschirme vorab zu laden, da der typische Arbeitsablauf darin besteht, dass Benutzer für eine Weile auf dem Bildschirm bleiben, bevor sie zum nächsten Bildschirm (rechts) wechseln. Ich benutze die Folienanimation (nicht einrollen). Ich erstelle alle Ansichten programmatisch und benutze IB überhaupt nicht.
Ich habe versucht, einige UIViewControllers in einem NSMutableArray zu speichern und die Controller von dort zu laden, aber es ist schwierig, richtig zu arbeiten und schien nichts zu beschleunigen. Es muss einen guten Weg geben, dies zu tun.
Jede Hilfe wird sehr geschätzt.
Haben Sie eine Lösung dafür gefunden? Ich habe das gleiche Problem, merkliche Verzögerung beim Wischen zum nächsten View-Controller. – mattsson
Art von, aber die Antwort ist sehr spezifisch für meine Implementierung. Da ich seit der Veröffentlichung dieser Frage viel mit UIPageViewController gearbeitet habe, habe ich festgestellt, dass es ein sehr schwieriges Thema ist. Grundsätzlich hatten meine Probleme eher damit zu tun, die DB nach den richtigen Daten zu durchsuchen, die jede Seite verlangsamten. Ich konnte meine Seitenumdrehungen optimieren, indem ich Daten aus der DB vorberechnete und meine Ansichten mit Auto Layout zeichnete, anstatt mit Frames zu spielen - das half sehr. Zweitens hatte ich viele Bilder zu zeigen, also speicherte ich sie in einem NSMutableArray direkt auf dem "Haupt" View-Controller (Eltern des Swipe). – DiscDev
Meine "Lösung" endete damit, dass ich darauf warte, dass Apple mit schnelleren Telefonen herauskommt .... hahaha. Auf dem iPhone 6/6s gibt es keine Verzögerung mehr.Ich habe einen Teil des Datenbankabrufcodes optimiert, der einmal beim ersten Erstellen des Seitencontrollers passiert, und das hat sehr geholfen, aber die Hauptgeschwindigkeitsverbesserungen kamen von schnelleren Prozessoren und mehr RAM und dem Auslaufen der Unterstützung für iPhone 4/4s =) – DiscDev