故事板:从子视图弹出到根视图控制器

时间:2015-04-30 14:31:53

标签: ios objective-c iphone uinavigationcontroller storyboard

这是我的第一个应用程序,因此对于有经验的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];*/
}

感谢任何帮助。谢谢

这就是我的故事板的样子 storyboard

1 个答案:

答案 0 :(得分:0)

在附加的屏幕截图中,root viewview controller之间的连接之一似乎是modal(或两者兼而有之。)。 在这种情况下,view controller不是导航控制器堆栈的一部分。

尝试将这两个段的类型更改为push 这应该将每个视图控制器添加到导航控制器的视图堆栈中,并且每个视图控制器都将具有非零navigationController属性。