iOS Swift: UIPageViewController - Seite programmatisch drehen

10

Ich habe einen UIPageViewController, der gut funktioniert, wenn wir nach links oder rechts wischen, um Seiten umzublättern.

%Vor%

Ich beabsichtige nun, auch auf der Seite die Schaltfläche Vorheriger / Nächster zur Verfügung zu stellen, sodass die Seiten durch Klicken auf diese Schaltflächen gedreht werden können.

Wie kann ich das Swipe-Links / Rechts-Verhalten auslösen ODER Seiten programmatisch drehen?

HINWEIS Dies ist eine Frage für SWIFT-Sprache, nicht für Objective-C.

    
Jasper 27.05.2015, 18:02
quelle

5 Antworten

6

Verwenden Sie diese Funktion und legen Sie den Übergangsstil für die gewünschte Animation fest.

    
JordanC 27.05.2015, 19:15
quelle
30

Es gibt im Allgemeinen keine Notwendigkeit, mit Seitenindizes herumzuspielen und was nicht. Wahrscheinlich implementieren Sie bereits dataSource: UIPageViewControllerDataSource , das alles enthält, was Sie benötigen, um einen vorherigen oder nächsten ViewController anzuzeigen.

Swift 2.2 Beispiel:

%Vor%

Auf diese Weise wird garantiert, dass die Seiten, auf die Sie wechseln, exakt die von den PageViewController-Gesten erzeugten Bewegungen sind.

    
SuitedSloth 18.06.2016 06:25
quelle
2

Hier ist eine schnelle Umsetzung:

%Vor%

viewControllerAtIndex(index: Int) -> UIViewController? ist meine eigene Funktion, um den richtigen View-Controller zu erreichen.

    
Swinny89 30.10.2015 08:14
quelle
2

Die Swift 3 Version von thatjuan 's Antwort (mit einem kleinen Tweak zum animated Parameter, da ich ihn standardmäßig animieren wollte, aber immer noch einen Parameter in der Funktion nehme), falls jemand es benötigt:

%Vor%     
Gix 14.08.2017 04:50
quelle
0

Lassen Sie das hier einfach weg, wenn jemand ein definiertes Protokoll verwenden möchte, um sich zu navigieren und die View-Controller programmatisch zu ändern.

%Vor%

Verwenden Sie das obige Protokoll und bestätigen Sie, dass UIPageViewController root ist, um die Navigation zwischen den View-Controllern zu verwalten.

Beispiel unten:

%Vor%

Sobald all das erreicht wurde, können untergeordnete Ansichtscontroller, die UIPageViewController zur nächsten oder vorherigen Seite verschieben müssen, AppWalkThroughDelegate-Methoden verwenden, indem sie eine bestimmte Zahl an die delegate-Eigenschaft übergeben.

Beispiel unten: Delegate-Methode, die aufgerufen wird, nachdem die Schaltfläche gedrückt wurde

%Vor%     
Sharkes Monken 15.08.2017 04:30
quelle