2

我有一个基于导航的视图控制器(根?),我在其中(以编程方式)创建了一个将用户带到主菜单的主页按钮。

这个主菜单是一个简单的视图控制器,而不是导航控制器的一部分。

为了连接两者,我使用了以下代码:

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

我的问题是如何以编程方式打开另一个视图控制器并关闭导航控制器?我看不到按钮,因此无法进行 segues。

谢谢先进

4

2 回答 2

3

试试这条线:

ViewController *viewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];

代替:

 ViewController *viewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
于 2012-12-05T06:24:55.160 回答
0

当您navigationContorller从那时起使用 push on 时,它会将您的视图推送到 stack 上,因此您可以做一件事,只需将您navigatioBar的 viewWillAppear 隐藏在您的视图中即可。

self.navigationController.navigationBarHidden = YES;
于 2012-12-05T06:23:55.317 回答