我的应用程序中有另一个流程。这个流程从我的firstViewController开始,然后在这个视图中调用我的第二个ViewController,如下所示:
- (IBAction)PressButton:(id)sender {
SecondViewController *second = [[SecondViewController alloc] init];
second.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
UINavigationController *nav = self.navigationController;
[nav presentViewController:second animated:YES completion:nil];
}
在我的secondViewController中,我想推送我的第三个ViewController。但它不起作用我试过这种方式:
- (IBAction)pressButton:(id)sender {
ThirdViewController *tvc = [[ThirdViewController alloc] init];
UINavigationController *nav = self.navigationController;
[nav pushViewController:tvc animated:YES];
}
当我按下secondViewController的按钮时没有任何反应。
我做错了什么?
我正在使用:
答案 0 :(得分:11)
您必须以模态方式显示导航控制器,并将第二个视图作为该导航控制器的根目录。以及从拥有视图调用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];
}
答案 1 :(得分:2)
请确保提供额外的导航控制器,而不是仅显示第二个视图控制器。
SecondViewController *secondViewController = [[SecondViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:secondViewController];
[[self navigationController] presentViewController:navigationController animated:YES completion:nil];
答案 2 :(得分:0)
如果您使用的是故事板,只需单击源视图xib,按Ctrl +拖动到目标(Create Segue),从弹出菜单中选择模式。单击新创建的连接。然后在源视图控制器[self performSegueWithIdentifier:@"Segue Name" sender:self];
答案 3 :(得分:0)
如果您尝试使用按钮以模态方式将您定向到其他页面,则可以进入storyboard或xib文件。控制单击该按钮到要转到的视图控制器。然后弹出菜单将为您提供您要使用的插座类型的选项。希望这有帮助