iOS的新手问题 - 我真的很困惑导航视图在tabview中的工作方式。
现在我有一个包含2个视图的tabview。在第二个标签中,我有一个按钮。单击按钮时,我想要一个新窗口显示一些信息,新窗口需要一个返回顶部的“返回”按钮,返回第二个选项卡。
我按照了一些教程并将NavigationController
放在 secondTab.xib 中,添加了一行
@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
当我点击第二个标签中的按钮时,日志会显示"点击"但我的观点并没有改变。
我是否需要更改文件的所有者/导航控制器插座/参考插座等设置??
谢谢!
答案 0 :(得分:2)
你不想要UINavigationController的属性,你想要像这样推送到当前的导航控制器:
NewWindowController *newWindow = [[NewWindowController alloc] initWithNibName:@"NewWindowController" bundle: nil];
[self.navigationController pushViewController:newWindow animated:YES];
NSLog(@"clicked");
当UIViewController与UINavigationController相关联(即它是导航控制器层次结构的一部分)时,它的navigationController
属性将被设置,因此您可以像我显示的那样访问它。