从iOS 5开始,UIViewController会自动调用subviews中,单独UIViewController的Appearance相关方法(即使没有调用addChildViewController也会),如:
viewWillAppear:
viewDidAppear:
viewWillDisappear:
viewDidDisappear:
在一些复杂的界面中通常这个特性非常有用,因为可能会需要对某部分界面创建自己的UIViewController。但有时还是希望自己维护这类视图状态方法,在iOS 5中需要重写这个方法:
– (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
iOS 6中这个方法被分成了2个
– (BOOL)shouldAutomaticallyForwardRotationMethods
– (BOOL)shouldAutomaticallyForwardAppearanceMethods
这通常在自定义容器控制器中非常有用,如果想了解如何实现Custom Container View Controller可参考下面的实现:
https://github.com/gonefish/GQFlowController