iOS 11,更改appDelegate.window.rootViewController使navigationItem.title无法正常工作

时间:2018-06-10 08:48:24

标签: ios rootviewcontroller

适用于iOS 10,而不适用于iOS 11。 有四个视图控制器,流程很简单:

ViewController - > TabbarController - > FirstViewController + SecondViewController。

主要逻辑如下:

在ViewController上:

- (IBAction)showTabbarVC:(id)sender {
UITabBarController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"tabbar"];
[self presentViewController:vc animated:YES completion:^{
    AppDelegate *del = (AppDelegate *)UIApplication.sharedApplication.delegate;
    del.window.rootViewController = vc;

}];

}

在FirstViewController上

- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.title = @"AA";// Will show AA.

}

SecondViewController:

- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.title = @"BB";//Show nothing.

}

如果我在应用程序打开时直接显示TabbarController,则可以正常工作。但是,如果我稍后更改appDelegate.window.rootViewController,它将无法正常工作。

任何人都知道为什么?非常感谢。

如果您想要运行演示,请从here

下载

0 个答案:

没有答案