当解除一个呈现的VC时,SWRevealViewController的frontViewController中的UINavigationController会回到根VC吗?

时间:2015-11-04 09:55:50

标签: ios swrevealviewcontroller

我在使用UIImagePickerControllerSWRevealViewController时遇到了一些问题。

在我的SWRevealViewController中,我的frontViewController是导航控制器。在这个导航控制器中,我在导航堆栈中有2个VC(称为VC1和VC2)。从最顶层的VC(VC2),我使用UIImagePickerController显示presentViewController:animated:completion:,VC2本身作为委托。当用户选择了一个图像时,会调用imagePickerController:didFinishPickingMediaWithInfo:委托方法,我会选择拾取的图像,然后调用dismissViewController:animated:来关闭图像选择器。然而,而不仅仅是回到VC2,应用程序一直回到VC1(即导航控制器的根视图控制器)

经过一些测试后,似乎问题不是特定于使用UIImagePickerController,而是使用{VC}前面VC中的presentViewController:animated:completion:呈现任何VC。我通过呈现一个虚拟VC而不是图像选择器控制器进行实验,同样的问题发生了 - 当呈现的VC被解除时,导航控制器返回到根VC而不是留在呈现VC。

我需要在应用中使用UIImagePickerController - 如何解决上述问题?

  • 我无法将UIImagePickerController推送到导航控制器
  • 我不想重新创建UIImagePickerController
  • 的功能

帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

Aargh,愚蠢......

我正在为SWRevealViewController创建子类,并且在SWRevealViewController的viewWillAppear中放置了加载和设置前视图控制器的代码,因此每次取消图像选择器并重新出现SWRevealViewController时,它都会重新设置其前端查看控制器。将代码放在viewDidLoad中解决了问题。 :/