In meinem Fall verwende ich ViewController als Eltern von PageViewController. Und es ist auch die DataSource von PageViewController durch Bereitstellung von ContentViewController.Warum ContentVCs viewWill/DidAppear vor seinem übergeordneten (PageVC) aufgerufen wird?
Es ist seltsam, dass ContentViewController die -viewWill/DidAppear:
genannt wird, bevor es Eltern, hier ist das, was ich von der Konsole bekam:
[ContentViewController viewWillAppear:]
[ContentViewController viewDidAppear:]
[ViewController viewWillAppear:]
[PageViewController viewWillAppear:]
[ViewController viewDidAppear:]
[PageViewController viewDidAppear:]
Hier sind einige Code aus ViewController.m:
- (void)viewDidLoad {
[super viewDidLoad];
PageViewController *pageVC = [[PageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];;
pageVC.dataSource = self;
[pageVC setViewControllers:@[[self contentViewControllerWithIndex:0]]
direction:UIPageViewControllerNavigationDirectionForward
animated:NO completion:nil];
pageVC.view.backgroundColor = [UIColor whiteColor];
pageVC.view.frame = self.view.bounds;
[self addChildViewController:pageVC];
[self.view addSubview:pageVC.view];
[pageVC didMoveToParentViewController:self];
}
-(ContentViewController *)contentViewControllerWithIndex:(NSInteger)index {
ContentViewController *vc = [[ContentViewController alloc] init];
vc.index = index;
return vc;
}
Dank.
Von wo '' contentViewControllerWithIndex Funktion aufgerufen, es ist Ihre Antwort .. – iphonic