0

我正在将 a 推viewControllerUINavigationControllerwith 动画上,而被推上的控制器基本上是在做类似的事情:

--- 应用委托:

[((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: 方法中。

但是,这些选项都不是理想的......任何帮助都将不胜感激。

4

0 回答 0