我正在将 a 推viewController
到UINavigationController
with 动画上,而被推上的控制器基本上是在做类似的事情:
--- 应用委托:
[((UINavigationController *)window.rootViewController) pushViewController:initialController animated:YES];
--- 初始控制器:
- (void)viewDidLoad {
[super viewDidLoad];
if (self.shouldSkipThisController) {
SomeOtherViewController *someOther = [[SomeOtherViewController alloc] init];
[self.navigationController pushViewController:someOther animated:NO];
}
}
这导致了一些我根本不理解的疯狂行为。基本上,似乎设置的导航项SomeOtherViewController
被一些奇怪的其他按钮所覆盖,该按钮在后退按钮中具有标题名称。看起来虽然SomeOtherViewController
设置了它自己的左右导航项,但它们被“默认”后退按钮覆盖——然后如果我点击该后退按钮,那么顶部的导航栏就会动画——并且THENSomeOtherViewController
的导航项就在那里。
我唯一能找到的工作是 1) 不为应用程序委托中的初始视图控制器的推送设置动画,或者 2) 将shouldSkipThisController
条件移动到viewDidAppear
: 方法中。
但是,这些选项都不是理想的......任何帮助都将不胜感激。