2011-11-27 63 views
0

iOS的新手问题 - 我真的很困惑导航视图如何在tabview中工作。iOS:弹出tabview中的子视图

现在我有一个tabview有2个视图。在第二个选项卡中,我有一个按钮。当点击按钮时,我想要一个新窗口显示一些信息,而新窗口需要顶部的返回按钮返回到第二个选项卡。

我跟着一些教程和secondTab.xib把NavigationController,增加了行

@property (nonatomic, retain) IBOutlet UINavigationController *navController; 

secondTab.h,并

NewWindowController *newWindow = [[NewWindowController alloc] initWithNibName:@"NewWindowController" bundle: nil]; 
[self.navController pushViewController:newWindow animated:YES]; 
NSLog(@"clicked"); 

到我的按钮实施-(IBAction) click: (id)sender

当我点击我的按钮时ond选项卡上,日志显示“已单击”,但我的视图未更改。

是否需要更改文件所有者/导航控制器插座/参考插座等设置?

谢谢!

回答

2

你不想为UINavigationController的一个属性,你要推到当前导航控制器,像这样:

NewWindowController *newWindow = [[NewWindowController alloc] initWithNibName:@"NewWindowController" bundle: nil]; 
[self.navigationController pushViewController:newWindow animated:YES]; 
NSLog(@"clicked"); 

当一个UIViewController与一个UINavigationController(即它是一个导航控制器的部分相关联那么它的navigationController属性将被设置,所以你可以像我所显示的那样访问它。

+0

还没有显示。我想也许是因为我一开始没有导航控制器。我的appDelegate中的代码是: self.window.rootViewController = self.tabBarController; –

+0

我添加了navigationView到rootViewController,现在它工作:) –