停止自动调用ios5生命周期事件

时间:2011-12-12 23:09:41

标签: objective-c ios uiviewcontroller ios5

我的所有视图控制器都扩展了我自己的BaseViewController:UIViewController,并且我已经覆盖了

- (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers {
    return NO;
}

然而,iOS 5模拟器决定忽略这一点并继续在我的嵌套UIViewController层次结构上调用我的viewWillAppear等方法。

我在另一个项目中做了同样的事情并且工作正常。还有什么我不想让它听我的吗?

1 个答案:

答案 0 :(得分:4)

原来你也必须使用这个方法:

UIViewController addChildViewController

通过这样做:

[self addChildViewController:_browserViewController];
[browserView addSubview:_browserViewController.view];
[_browserViewController didMoveToParentViewController:self]; 

..并从automaticForwardAppearanceAndRotationMethodsToChildViewControllers返回NO

...它会停止被调用两次的视图生命周期方法。