この-viewWillApear
方法は合理的ですが、ビューがビュー階層に挿入されようとしているときに呼び出されます。これは、必要な場合とそうでない場合があります。
プッシュ/プルの進行状況をさらに制御したい場合は、オーバーライドできます
- (void)willMoveToParentViewController:(UIViewController *)parent {
if (nil == parent) {
// Moving to nil parent means being removed from parent
} else {
// Will be inserted as a child view controller of <parent>
}
}
- (void)didMoveToParentViewController:(UIViewController *)parent {
if (nil == parent) {
// Moving to nil parent means was just removed from parent
} else {
// Was just inserted as a child view controller of <parent>
}
}
これらは、ナビゲーションコントローラーが子ビューコントローラーをプッシュ/ポップする直前と直後に呼び出されます。
ドキュメントから...
didMoveToParentViewController:
ビューコントローラがコンテナビューコントローラに追加またはコンテナビューコントローラから削除された後に呼び出されます。
- (void)didMoveToParentViewController:(UIViewController *)parent
パラメーター
親
親ビューコントローラ、または親がない場合はnil。
討論
ビューコントローラは、コンテナへの追加に反応したいときにこのメソッドをオーバーライドできます。
と...
willMoveToParentViewController:
ビューコントローラがコンテナビューコントローラに追加またはコンテナビューコントローラから削除される直前に呼び出されます。
- (void)willMoveToParentViewController:(UIViewController *)parent
パラメーター
親
親ビューコントローラ、または親がない場合はnil。
討論
ビューコントローラは、コンテナに追加されたことを知る必要がある場合に、このメソッドをオーバーライドできます。