我在我的应用程序的替代流。 该流程开始于我的firstViewController,然后在此查看呼叫我secondViewController是这样的:
- (IBAction)PressButton:(id)sender {
SecondViewController *second = [[SecondViewController alloc] init];
second.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
UINavigationController *nav = self.navigationController;
[nav presentViewController:second animated:YES completion:nil];
}
在我secondViewController我希望把我的thirdViewController。 但它不工作我尝试这样的方法:
- (IBAction)pressButton:(id)sender {
ThirdViewController *tvc = [[ThirdViewController alloc] init];
UINavigationController *nav = self.navigationController;
[nav pushViewController:tvc animated:YES];
}
当我按下的secondViewController没有任何按钮发生。
我做错了吗?
我正在使用:
- OSX 10.8.2
- 的Xcode 4.6
- 的iOS 6.1
你必须出示导航控制器模态,和具有第二视图,该导航控制器的根。 以及从拥有视图不其父导航控制器调用presentViewController。
- (IBAction)PressButton:(id)sender {
SecondViewController *second = [[SecondViewController alloc] init];
second.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:second];
[self presentViewController:navigationController animated:YES completion:nil];
}
相反,仅仅呈现第二视图控制器,一定要提出一个额外的导航控制器。
SecondViewController *secondViewController = [[SecondViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:secondViewController];
[[self navigationController] presentViewController:navigationController animated:YES completion:nil];
如果使用的是故事板只需要点击源视图厦门国际银行,按Ctrl +拖动到目标(创建Segue公司),从弹出menu.Click选择模式新创建的连接上。 为它添加一个名称,然后在源视图控制器[self performSegueWithIdentifier:@"Segue Name" sender:self];
如果你试图让一个按钮来引导您到不同的页面模态,你可以去到故事板或XIB文件。 从按键到你想去的视图控制器控制点击。 然后在弹出菜单会给你的,你要使用什么类型的插座的选项。 希望这可以帮助
文章来源: How to add an UINavigationController to an UIViewController presented as Modal