从UINavigationController(IOS 5)弹出UIViewController时的奇怪动画

Joh*_*pia 12 uinavigationcontroller ipad ios

我正在实现一个容器视图控制器,其中屏幕的一部分是包含视图的UINavigationController视图.我viewDidLoad:是这样的:

// ...
UIViewController *myNavigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyNavigationController"];
[self addChildViewController:myNavigationController];
[self.myContainerView addSubview:myNavigationController.view];
[myNavigationController didMoveToParentViewController:self];
// ...
Run Code Online (Sandbox Code Playgroud)

没有旋转问题,并将新的视图控制器推入导航控制器工作正常.但是当用户点击背面时UIBarButtonItem,不仅仅是self.myContainerView整个self.view动画向上,类似于kCATransitionFromBottom,而不是普通的导航控制器弹出动画.经过几次调试后,我意识到我的视图控制器viewWillDisappear:和viewWillAppear:方法在弹出时会被调用myNavigationController.

不幸的是,我被困住了.如果有人能够了解到底发生了什么以及如何解决这个问题,我将不胜感激.

编辑: 好的,没关系.我忘了shouldAutorotateToInterfaceOrientation:在导航控制器的一个孩子身上实施.返回YES修复了问题.

Joh*_*pia 14

好吧,那算了.我忘了在我的导航控制器的一个孩子中实现shouldAutorotateToInterfaceOrientation :. 返回YES修复了问题.