ビューコントローラーに関するiOSのドキュメントに従ってカスタムビューコントローラーコンテナーを作成していますが、関連する表示メッセージをviewWillAppear:
自動的に転送する最初のビューコントローラーを表示するためのエレガントな方法を見つけるのに苦労しています。
を試してみるtransitionFromViewController:toViewController:duration:options:animations:completion:
と、エラーが発生します。私は、アニメーションブロックを使用してビューをビュー階層にアニメーション化することに頼りました。これは、アピアランスメソッドの自動転送を中断しているようであり、適切なタイミングで電話をかける責任があることを意味します。外観と回転の方法を処理する画面に最初のビューを移行するためのより効率的な方法はありますか?fromViewController:
nil
UIView
viewWillAppear:
ViewDidAppear:
私のコードは、最初のViewControllerでアニメーション化するために少しこのように見えます。
self.visibleViewController = [[UIViewController alloc] init];
[self addChildViewController:self.visibleViewController];
[self.visibleViewController viewWillAppear:YES];
[self.visibleViewController.view setAlpha:0];
[self.view addSubview:self.visibleViewController.view];
[UIView animateWithDuration:0.5
delay:0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.visibleViewController.view.alpha = 1;
}
completion:^(BOOL finished){
[self.visibleViewController viewDidAppear];
[self.visibleViewController didMoveToParentViewController:self];
}];