故事板:从子视图弹出到根视图控制器
Storyboard : Pop to root view controller from subview
这是我的第一个应用程序,因此对于经验丰富的 ios 开发人员来说这应该很简单。我有一个带有导航控制器的故事板,在我的一个视图控制器中有一个子视图。在子视图中单击时,我想 return 到根控制器,但不幸的是它不起作用。
子视图控制器
- (IBAction)doneAction:(id)sender {
if ([self.parentViewController isKindOfClass:[PlayViewController class]]){
PlayViewController *pControl = (PlayViewController *) self.parentViewController;
[pControl goToMainView];
}else{
NSLog(@"NOT AN INSTANCE");
}
}
视图控制器
-(void)goToMainView{
NSLog(@"I AM HERE");
[self.navigationController popToRootViewControllerAnimated:YES];
/*SWRevealViewController *secondViewController =
[self.storyboard instantiateViewControllerWithIdentifier:@"gameController"];
[self performSegueWithIdentifier:@"gameView" sender:self];
[self.navigationController pushViewController:secondViewController animated:YES];*/
}
感谢任何帮助。谢谢
这是我的故事板的样子
似乎在附加的屏幕截图中从 root view
到 view controller
的连接之一是 modal
(或两者?)。
在这种情况下,view controller
不是导航控制器堆栈的一部分。
尝试将这 2 个 segue 的类型更改为 push
。
这应该将这些视图控制器中的每一个添加到导航控制器的视图堆栈中,并且它们中的每一个都将具有非零 navigationController
属性.
这是我的第一个应用程序,因此对于经验丰富的 ios 开发人员来说这应该很简单。我有一个带有导航控制器的故事板,在我的一个视图控制器中有一个子视图。在子视图中单击时,我想 return 到根控制器,但不幸的是它不起作用。 子视图控制器
- (IBAction)doneAction:(id)sender {
if ([self.parentViewController isKindOfClass:[PlayViewController class]]){
PlayViewController *pControl = (PlayViewController *) self.parentViewController;
[pControl goToMainView];
}else{
NSLog(@"NOT AN INSTANCE");
}
}
视图控制器
-(void)goToMainView{
NSLog(@"I AM HERE");
[self.navigationController popToRootViewControllerAnimated:YES];
/*SWRevealViewController *secondViewController =
[self.storyboard instantiateViewControllerWithIdentifier:@"gameController"];
[self performSegueWithIdentifier:@"gameView" sender:self];
[self.navigationController pushViewController:secondViewController animated:YES];*/
}
感谢任何帮助。谢谢
这是我的故事板的样子
似乎在附加的屏幕截图中从 root view
到 view controller
的连接之一是 modal
(或两者?)。
在这种情况下,view controller
不是导航控制器堆栈的一部分。
尝试将这 2 个 segue 的类型更改为 push
。
这应该将这些视图控制器中的每一个添加到导航控制器的视图堆栈中,并且它们中的每一个都将具有非零 navigationController
属性.