当前位置 : 主页 > 手机开发 > ios >

iOS 5.0查看生命周期问题

来源:互联网 收集:自由互联 发布时间:2021-06-11
我在iOS 5.0上面临我的自定义视图控制器子类的奇怪行为.我在我的iPad应用程序中没有使用标准导航控制器等,但我自己也提供了所有视图控制器 – 这就是我需要手动调用-viewWillAppear和
我在iOS 5.0上面临我的自定义视图控制器子类的奇怪行为.我在我的iPad应用程序中没有使用标准导航控制器等,但我自己也提供了所有视图控制器 – 这就是我需要手动调用-viewWillAppear和viewDidAppear方法的原因.

从iOS 5.0开始,似乎在将视图控制器的视图添加为子视图时,会在视图的视图控制器实例上自动调用这些方法.这意味着在我的情况下这些方法被调用两次.

有什么建议?除了创建我自己的视图生命周期方法和重写整个应用程序?

非常感谢!

将以下内容添加到您的UIViewController以禁用自动调用那些-viewWill …和-viewDid …方法:

-(BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers {
   return NO;
}

这将迫使iOS 5.0在添加子视图时停止调用这些方法,并且不会破坏iOS 4.x中的任何内容.只要我继续支持iOS 4.x上的设备,我就会使用此方法.一旦我放弃对iOS 4的支持,我将重构我的代码以使用交换视图控制器的新方法(如hypercrypt发布的Session 102视频中所述).

网友评论