Objective c 在iOS6中取消显示的UINavigationController

Objective c 在iOS6中取消显示的UINavigationController,objective-c,uiviewcontroller,ios6,uinavigationcontroller,uiimagepickercontroller,Objective C,Uiviewcontroller,Ios6,Uinavigationcontroller,Uiimagepickercontroller,在我的根UIViewController中,我提供了一个UINavigationController。UINavigationController最终会推送另一个视图(我们称之为MyViewController)。如何从MyViewController中取消整个UINavigationController(及其已推送的视图) 在MyViewController中,我尝试调用[[self.navigationController presentingViewController]dismissVi

在我的根UIViewController中,我提供了一个UINavigationController。UINavigationController最终会推送另一个视图(我们称之为MyViewController)。如何从MyViewController中取消整个UINavigationController(及其已推送的视图)

在MyViewController中,我尝试调用
[[self.navigationController presentingViewController]dismissViewControllerAnimated:NO completion:nil]
,但没有任何结果。我还尝试过首先将所有视图控制器从导航控制器中弹出,但导航控制器仍然没有关闭

谢谢

更新

我已经找到了导致这个问题的原因,但还没有解决它。上面描述的UINavigationController是UIImagePickerController(我们称之为CameraController)的一个自定义子类,源类型为UIImagePickerController源类型Camera。一切正常(使用下面提供的答案),直到我在
viewDidLoad
中的CameraController上设置自定义
cameraOverlayView
。注释掉以下几行可以让事情顺利进行:

self.showCameraControls = NO;
UIView *overlay = [[[NSBundle mainBundle] loadNibNamed:@"CameraController" owner:self options:nil] objectAtIndex:0];
self.cameraOverlayView = overlay;

您可以在
self.navigationController
自身上调用
dismissViewControllerAnimated:NO

[self.navigationController dismissViewControllerAnimated:NO completion:nil];

如何展示导航控制器?如何从uiview切换到导航?情态动词如果是,则
[自我解除ModalViewController激活:是]应该工作我正在做的
[自我呈现视图控制器:导航控制器动画:无完成:无]
。iOS6中不推荐使用模式内容。“演示视图控制器负责解除其演示的视图控制器。如果您对演示视图控制器本身调用此方法,它会自动将消息转发给演示视图控制器。”您是否尝试仅在导航控制器上调用
dismissViewController
?另外,您确定
self.navigationController
不是零吗?在navController的第一个viewController上,您可以记录
[self-presentingViewController]
[self.navigationController presentingViewController]
。。。它们是否都返回相同的对象?否。我将在一个新项目上尝试此操作,除了上面描述的内容外,其他内容都没有,以确保没有其他干扰。您是否尝试过打印
self.navigationController
?是零吗?是的。这不是零。它是UIImagePickerController的实例。是否将UIImagePickerController显示为模式?那么你从哪里调用上面的代码呢?不确定模型视图是什么…也许你指的是模态。我正在从MyViewController(推送到UIImagePickerController/UINavigationController上的视图控制器)中的iAction调用
dismissViewController