【发布时间】:2016-06-07 13:42:27
【问题描述】:
我有一个嵌入在navigationController 中的viewControllerA。从这个viewControllerA 我想导航到另一个嵌入在tabBarController 中的viewControllerB。
所以我有一个类似的设置 -
viewControllerB被嵌入到navigationController中,然后它被嵌入到tabBarController中。在
viewControllerA中,我有一个按钮,我想从该按钮推到viewControllerB。
这就是我想要做的 -
-(void)areaBtnClicked:(id)sender{
NSLog(@"btn clicked");
UITabBarController *tbc = [self.storyboard instantiateViewControllerWithIdentifier:@"tabController"];
[self.navigationController pushViewController:tbc animated:YES];
}
但是应用程序崩溃并显示错误消息 -
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
【问题讨论】:
-
嘿,最好有标签栏控制器作为根。并且比将导航控制器作为选项卡。也许您可以考虑重新组织您的控制器流程?
-
@DoN1cK - 类似于登录流程,您可以登录然后导航到嵌入在选项卡中的主控制器。
-
也许你可以把它们分开?登录完成后,删除所有控制器并将您的标签栏作为根。
-
检查你有一个标识符 == tabController 的 UITabBarController
-
是的故事板标识符是正确的
标签: ios objective-c uinavigationcontroller uitabbarcontroller