我有一个带有Xcode5,SDK 7.0的mster详细应用程序,使用故事板。
以下是故事板的一部分:
master是一个标签栏控制器,它有两个标签,我想将视图推送到其中一个。 所以我按住Ctrl +从导航控制器拖动到我的新视图控制器(上图中的“添加类别视图控制器”)
导航控制器的根视图控制器有一个按钮,按钮操作是:
- (IBAction)addBtnPressed:(id)sender {
[self.navigationController performSegueWithIdentifier:@"toAddCetegory" sender:self];
}
这将是一个例外:
Terminating app due to uncaught exception 'NSGenericException', reason: 'Could not find a navigation controller for segue 'toAddCetegory'. Push segues can only be used when the source controller is managed by an instance of UINavigationController.'
但是,如果我将此Button操作代码更改为:
- (IBAction)addBtnPressed:(id)sender {
AddCategoryViewController *addVC = [self.storyboard instantiateViewControllerWithIdentifier:@"addCategoryView"];
[self.navigationController pushViewController:addVC animated:YES];
}
它可以正常工作,点击按钮时会显示新视图。
我想知道我在赛格的方式有什么问题?
任何帮助表示赞赏!
答案 0 :(得分:1)
您正在从导航控制器的根视图控制器执行push segue(在您的代码中),但您已将push segue连接到导航控制器而不是连接到根视图控制器(在故事板中)。 尝试将push segue连接到根视图控制器,这将起作用。