UIPageViewController delegate-Methode nicht aufgerufen
In meiner Anwendung habe ich eine RootViewController (UIPageViewController), ein FirstController (UIViewController) und eine SecondController (UIViewController).
Die beiden Ansichten innerhalb der beiden UIViewControllers scrollen Sie über die RootViewController.
In meinem RootViewController.h:
@interface RootController : UIPageViewController <UIPageViewControllerDataSource, UIPageViewControllerDelegate>
Aber wenn ich scrollen zwischen den verschiedenen Ansichten delegate-Methoden wie:
-(void) pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed
sind nicht genannt.
Warum? Kann mir jemand helfen? Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hast du zuweisen rootViewController (je nachdem, welcher controller/Objekt, das Sie erhalten möchten, ruft der Delegat) werden die Delegierten/datasource des UIPageViewController?
Neben der offensichtlichen Lösung, die oben,, wenn Sie Begegnung diesem Thema bitte die Möglichkeit in Betracht ziehen, dass die PageViewController selbst wird nicht beibehalten. Ich habe den Fehler gemacht früher an diesem Abend der Instanziierung einer PageViewController und hinzufügen Ihrer Ansicht als unteransicht aber nicht die Beibehaltung der pageViewController selbst.
Stellen Sie sicher, bewahren Sie Sie entweder, indem Sie es als childViewController oder die Zuordnung zu einer starken Eigenschaft.
UICollectionReusableView
so konnte ich nicht hinzufügen, es als childViewController. So ist die Zuweisung an eine starke Eigenschaft hat es getan. DankWie hast du die Verbindung der Seite view controller delegate-outlet? Meine Vermutung ist, dass Sie nie verbunden die Stellvertretung link.
Es ist merkwürdig, zu haben eine page-view-controller-sei es die eigene Datenquelle und delegieren. Ich habe nie versucht, das zu tun, was Ihr tut, und bin nicht sicher, ob es funktionieren würde. Ich habe immer eingerichtet, einen container view controller verwaltet die Seite-view-controller. Mit storyboards, die Sie gerade eingerichtet, eine container-Ansicht in IB und verbinden Sie ein embed-segue. Dann würden Sie sich machen, die container view controller die Datenquelle und/oder delegieren.
Verbrachte einige Zeit versucht, herauszufinden, warum didFinishAnimating nicht genannt wurde. Meine Delegierten waren richtig gesetzt, aber es stellt sich heraus, dass in Swift 3 die Funktion geht so :
Angesichts der oben genannten unterstreichen. Die untenstehende Funktion nicht aufgerufen werden.