【问题标题】:UINavigationController in SWRevealViewController's frontViewController goes back to root VC when dismissing a presented VC?SWRevealViewController 的 frontViewController 中的 UINavigationController 在关闭呈现的 VC 时返回到根 VC?
【发布时间】:2016-02-04 18:16:48
【问题描述】:

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

在我的SWRevealViewController 中,我的frontViewController 是一个导航控制器。在这个导航控制器中,导航堆栈中有 2 个 VC(称为 VC1 和 VC2)。在最顶层的 VC (VC2) 中,我使用 presentViewController:animated:completion: 展示了一个 UIImagePickerController,VC2 本身作为委托。当用户选择了一个图像,imagePickerController:didFinishPickingMediaWithInfo: 委托方法被调用,我对选择的图像做一些事情,然后我调用dismissViewController:animated: 来关闭图像选择器。但是,应用程序不仅返回到 VC2,还一路返回到 VC1(即导航控制器的根视图控制器)

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

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

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

帮助表示赞赏!

【问题讨论】:

    标签: ios swrevealviewcontroller


    【解决方案1】:

    啊,愚蠢……

    我是 SWRevealViewController 的子类,并将加载和设置前视图控制器的代码放在 SWRevealViewController 的 viewWillAppear 中,所以每次图像选择器被关闭并且 SWRevealViewController 重新出现时,它都会重新设置其前视图控制器.将代码放入viewDidLoad 解决了这个问题。 :/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-11
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 2016-09-02
      相关资源
      最近更新 更多