UIPageViewController Die zweite Ansicht wird leer angezeigt

8

Ich habe ein sehr merkwürdiges Verhalten, wenn ich UIPageViewController in meiner App verwende. Beim ersten Streichen zur nächsten Ansicht oder wenn sich die Richtung des Wischens ändert (dh am Ende der Liste und zurück), ist die resultierende Ansicht leer und ich muss die gleiche Richtung erneut wischen, damit die entsprechende Ansicht angezeigt wird.

Beispielworkflow mit 3 Ansichten:

  1. Erste angezeigte Darstellung
  2. Wischen Sie nach rechts
  3. Die zweite Ansicht blinkt
  4. Wischen Sie nach rechts
  5. Zweite Ansicht präsentiert
  6. Wischen Sie nach rechts
  7. Dritte Darstellung
  8. Wischen Sie nach links
  9. Die zweite Ansicht blinkt
  10. Wischen Sie nach links
  11. Zweite Ansicht präsentiert

Ich bemerkte durch Protokollierung, wenn das Blinken passiert (2 & amp; 3 oben), die Reihenfolge der Ereignisse ist wie folgt:

  1. GetNextViewController heißt
  2. GetPreviousViewController heißt
  3. GetNextViewController heißt

Wenn ich dann erneut wische, wird GetNextViewController entsprechend aufgerufen und die Ansicht wird angezeigt.

Mein Problem ist offensichtlich, dass die zweite Ansicht ohne das Blinken ein- und ausgehen sollte. Ich habe verschiedene Dinge ausprobiert, aber nichts fruchtbares.

AKTUALISIEREN

Hier ist eine Beispielanwendung mit einem Controller, die das Problem reproduziert:

%Vor%     
Benny 15.04.2013, 18:47
quelle

1 Antwort

9

iOS ruft GetPreviousViewController und GetNextViewController zweimal auf: zuerst für den aktuellen Controller und dann für den Backflip des aktuellen Controllers.

Das solltest du tun

  

aktuell = aktuell.vorher;

nur beim ersten Anruf.

Überprüfen Sie reviewViewController, um dies zu tun:

%Vor%     
Northern Poet 23.04.2013 03:42
quelle