1

我正在开发一个视图很少的基于导航的应用程序。在情节提要中,我有一个Navigation Controller指向我的主 ViewController(我的应用程序的“中心”视图),它指向带有 segues 的其他视图。

起初我希望这个 segues 可以,push但它不能正常工作(按钮几乎没有响应),我已经切换到modal按照这里的建议)。现在 segue 工作正常,但每当我使用modalsegue 时,它​​指向的导航栏就会消失(我尝试过其他配置 - 导航栏显示在 Storyboard 上,但在模拟器上不起作用)。

我在哪里犯错?

4

2 回答 2

2

通过模态演示,您的视图控制器不再是UINavigation堆栈的一部分。您可以拖入一个新的UINavigationController,将其显示为模态视图,并将您的视图控制器类作为导航控制器的根视图控制器。

于 2012-09-19T18:04:32.927 回答
1

正如 JoePasq 所建议的那样,“让您的视图控制器类成为导航控制器的根视图控制器”。选择要设置为根屏幕的视图控制器并转到编辑器/嵌入选项并选择导航控制器。您将获得一个嵌入您的根视图控制器的导航控制器。您可以在程序中以编程方式更改屏幕,而不是设置 segue。在您的按钮单击事件方法中,编写如下类似的代码;

- (IBAction)okPressed:(id)sender {
UIStoryBoard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; //MainStoryboard is the name of your storyboard
SecondViewController *secondView = [storyboard instantiateViewControllerWithIdentifier:@"sView"];
//sView is the identifier name set by the user, (present inside Attribute Inspector - View Controller)
[self.navigationController pushViewController:secondView animated:YES]; 

让我知道这是否有效,或者还有其他方法可以做到这一点。

于 2012-09-19T18:23:46.723 回答