【发布时间】:2019-09-25 03:45:05
【问题描述】:
我有 3 个故事板,A、B 和 C。
A 有一个TabBarController。
当我从 A 移动到 B 时,我会像下面的代码一样:
BViewController* vcB = (BViewController*) [R2Utils getViewControllerWithId:@"BViewController" fromStoryBoard:StoryboardB];
[self.navigationController presentViewController animated:YES];
其中 vcB 是情节提要中的 NavigationController B。
从B 导航到C 时:
UINavigationController* nav = (UINavigationController*) [R2Utils getViewControllerWithId:@"MainAppNavigationController" fromStoryBoard:StoryboardC];
[UIView transitionFromView:self.window.rootViewController.view
toView:nav.view
duration:0.8f
options:UIViewAnimationOptionTransitionFlipFromRight
completion:^(BOOL finished){
self.window.rootViewController = nav;
}];
【问题讨论】:
-
您正在从一个视图转换到另一个视图。是不是故意的。您可能想在 ViewController 上调用
transitionFromViewController。由于酒吧是由 VC 管理的,所以你会得到那些奇怪的工件。 -
你可以试试这个方法可能会奏效。在 viewWillAppear 中可以隐藏前一个 Controller 的导航栏。viewWillDisappear 可以取消隐藏相同的导航栏。
标签: objective-c navigation uinavigationcontroller storyboard