ios - UIPageViewController Child's viewWillAppear: & viewDidAppear: transition calls -


how 1 ensure viewwillappear: , viewdidappear: (and other view transition methods) called on uipageviewcontroller's child viewcontrollers?

in case, view transition methods adequately called on except firstviewcontroller uipageviewcontroller opens to. on firstviewcontroller, viewdidappear: , viewwillappear: methods called before uipageviewcontroller's view transition methods. , 1 starts scrolling, viewwillappear: , viewdidappear: methods called 1 expect new view controllers.

here structure: have bossviewcontroller contains organizerviewcontroller (a couple different organizers, actually, irrelevant). organizerviewcontroller contains uipageviewcontroller, contains series of customviewcontrollers. code adequately calls child view transition methods per apple (https://developer.apple.com/library/ios/featuredarticles/viewcontrollerpgforiphoneos/implementingacontainerviewcontroller.html) interactions between bossviewcontroller , organizerviewcontroller (fully functional, so). problem lies somewhere between organizerviewcontroller, it's child uipageviewcontroller, , it's first child custompageviewcontroller.

i have tried calling beginappearancetransition: , endappearancetransition: within uipageviewcontroller's viewwillappear: , viewdidappear: - resulted in 'unbalanced calls' error log console.

here uipageviewcontroller set code, of in organizerviewcontroller:

- (void)configurepvc {     nsdictionary *key = @{uipageviewcontrolleroptioninterpagespacingkey : @([uiscreen mainscreen].bounds.size.width * 0.5)}; _pvc = [[avscustompageviewcontroller alloc] initwithtransitionstyle:uipageviewcontrollertransitionstylescroll                                        navigationorientation:uipageviewcontrollernavigationorientationhorizontal options:key];     self.pvc.delegate = self;     self.pvc.datasource = self;      _pvcarray = [[nsmutablearray alloc] init];      customviewcontroller *daily = (customviewcontroller *)[self viewcontrolleratindex:6];     self.index = 6;      [self.pvcarray addobject:daily];      [self.pvc setviewcontrollers:self.pvcarray                    direction:uipageviewcontrollernavigationdirectionforward                     animated:yes                   completion:nil];      [self addchildviewcontroller:self.pvc];     [self.dailycontainerview addsubview:self.pvc.view];     self.pvc.view.frame = self.dailycontainerview.bounds;     [self.pvc didmovetoparentviewcontroller:self]; }  - (uiviewcontroller *)pageviewcontroller:(uipageviewcontroller *)pageviewcontroller viewcontrollerbeforeviewcontroller:(uiviewcontroller *)viewcontroller {     nsuinteger index = [(customviewcontroller *)viewcontroller index];     if (index == 0) {         return nil;     }     index--;      return [self viewcontrolleratindex:index]; }  - (uiviewcontroller *)pageviewcontroller:(uipageviewcontroller *)pageviewcontroller viewcontrollerafterviewcontroller:(uiviewcontroller *)viewcontroller {      nsuinteger index = [(customviewcontroller *)viewcontroller index];     if (index == 6) {         return nil;     }     index++;      return [self viewcontrolleratindex:index]; } - (uiviewcontroller *)viewcontrolleratindex:(nsuinteger)index {     customviewcontroller *viewcontroller = [[customviewcontroller alloc] init];     viewcontroller.index = index;       return viewcontroller; } 


Comments