我有一个基于导航的视图控制器(root?),我在其中创建(以编程方式)主页按钮,将用户带到主菜单。
此主菜单是一个简单的视图控制器,而不是导航控制器的一部分。
要连接这两个,我使用了以下代码:
ViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"MainMenu"];
[self.navigationController pushViewController:vc animated:YES];
尽管工作正常,它只是通过导航栏将视图控制器推到堆栈上。
我要做的是关闭导航控制器并返回到开始。
我尝试使用以下代码:
ViewController *viewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
[self presentModalViewController:viewController animated:YES];
但是我遇到了以下崩溃:原因:'无法在捆绑中加载NIB:'NSBundle
我的问题是如何以编程方式打开另一个视图控制器并关闭导航控制器?我看不到按钮,因此无法实现。
先谢谢你
答案 0 :(得分:3)
试试这一行:
ViewController *viewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];
取代:
ViewController *viewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
答案 1 :(得分:0)
当您从navigationContorller
使用推送时,它会在堆叠上推送您的视图,因此您可以执行一项操作,只需在视图的viewWillAppear中隐藏navigatioBar
即可。
self.navigationController.navigationBarHidden = YES;