1.- (void)willMoveToParentViewController:(UIViewController *)parent;
在添加或移除view controller之前被調用。
當你的view controller需要知道它已經被添加到一個容器中時,它能重寫這個方法。
如果你正實現一個你自己的容器view controller,在調用removeFromParentViewController:方法之前,它必須調用這子view controller的willMoveToParentViewController:方法,然后傳入nil。
當你自定義的容器調用addChildViewController:方法時,它自動調用將被作為子代添加的view controller的willMoveToParentViewController:方法。
parent 父view controller,如果沒有就傳nil
2.- (void)removeFromParentViewController;
從父代移除這個view controller。
這個方法只被一個自定義的容器view controller實現時試圖調用,如果你重寫這個方法,你必須在你的實現里調用super。
3.- (void)beginAppearanceTransition:(BOOL)isAppearing animated:(BOOL)animated;
告訴一個子controller,他的外觀將要改變。
如果你正實現一個自定義的容器controller,用這個方法告訴它的子代那它的view將要顯示或者消失。不直接調用viewWillAppear:,viewWillDisappear:,viewDidAppear:,或者viewDidDisappear。
isAppearing 如果子view controller將要被添加進view層級內,是YES;如果被移除就是NO。
animated 如果是YES,過渡將是動畫的。
4.- (void)endAppearanceTransition;
告訴子controller,它的外觀已經被改變。
如果你正實現一個自定義的容器controller,用這個方法告訴子代,view的過渡已經完成。