这是我的第一个应用程序,因此对于有经验的ios开发人员来说这应该很简单。我有一个带导航控制器的故事板,在我的一个视图控制器中有一个子视图。点击子视图,我想返回根控制器,但不幸的是它无法正常工作。 子视图控制器
- (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];*/
}
感谢任何帮助。谢谢
这就是我的故事板的样子
答案 0 :(得分:0)
在附加的屏幕截图中,root view
到view controller
之间的连接之一似乎是modal
(或两者兼而有之。)。
在这种情况下,view controller
不是导航控制器堆栈的一部分。
尝试将这两个段的类型更改为push
这应该将每个视图控制器添加到导航控制器的视图堆栈中,并且每个视图控制器都将具有非零navigationController
属性。