适用于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
下载