我在iOS 5.0上面临我的自定义视图控制器子类的奇怪行为.我在我的iPad应用程序中没有使用标准导航控制器等,但我自己也提供了所有视图控制器 – 这就是我需要手动调用-viewWillAppear和
从iOS 5.0开始,似乎在将视图控制器的视图添加为子视图时,会在视图的视图控制器实例上自动调用这些方法.这意味着在我的情况下这些方法被调用两次.
有什么建议?除了创建我自己的视图生命周期方法和重写整个应用程序?
非常感谢!
将以下内容添加到您的UIViewController以禁用自动调用那些-viewWill …和-viewDid …方法:-(BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers { return NO; }
这将迫使iOS 5.0在添加子视图时停止调用这些方法,并且不会破坏iOS 4.x中的任何内容.只要我继续支持iOS 4.x上的设备,我就会使用此方法.一旦我放弃对iOS 4的支持,我将重构我的代码以使用交换视图控制器的新方法(如hypercrypt发布的Session 102视频中所述).