UIImagePickerController和Push Segue

时间:2013-05-16 19:51:01

标签: ios uinavigationcontroller uiimagepickercontroller uistoryboardsegue

我有一个从主屏幕以模态方式呈现的UIImagePickerController。现在我的理解是UIImagePickerController是UINavigationController的子类,并充当根视图控制器。所以我可以很容易地做到这一点:

@interface SCTCameraViewController : UIImagePickerController <UINavigationControllerDelegate, UIImagePickerControllerDelegate>

@end

在viewDidLoad中:

[self setDelegate:self];

然后调用[self pushViewController:viewController animated:YES];工作正常并转到指定的视图控制器就好了。有一个奇怪的事情发生在我在SCTViewController上的自定义UIButton附带我推动的下一个视图控制器。我可以轻松地调用[button removeFromSuperView];没有问题,我真的好奇为什么那个按钮会粘在UIImagePickerController和我推到堆栈上的视图控制器的顶部。它必须是导航的奇怪和技术,但如果有人有任何想法,我很想知道答案。

所以我的主要问题。在我的故事板上,我有一个push segue连接我的UIImagePickerController和我想要推送到导航堆栈的视图控制器。但是当我调用[self performSegueWithIdentifier:@"viewControllerToPush" sender:self];时,我的应用程序崩溃并抛出此错误:

  

由于未捕获的异常'NSGenericException'而终止应用程序,原因是:'无法找到segue'cutoutViewModal'的导航控制器。 Push segues只能在源控制器由UINavigationController实例管理时使用。

我的印象是UIImagePickerController是一个导航控制器,但我显然错了。我是否必须在我的Storyboard中明确地使用导航控制器并将根视图控制器连接到我的UIImagePickerController?我试过了,不幸的是没有任何运气。

任何人都知道发生了什么以及我如何解决这个问题?我很高兴只使用[self pushViewController:vc animated:YES];,我只是理解为什么另一种方式不能按照我预期的方式工作。

谢谢!

编辑1:在故事板中我去了

  

编辑器&gt;嵌入&gt;导航控制器

这很好地解决了所有问题,但是当我尝试导航到根视图控制器时,XCode调试面板旋转了一段时间,然后因访问错误而崩溃。

0 个答案:

没有答案