UIImagePickerController和UINavigationController导航完成?

时间:2016-07-02 21:12:19

标签: ios swift

我有UINavigationController通过self.setViewControllers([self.homeController], animated: false)调出视图。家庭控制器有一个按钮,通过发送代理UIImagePickerController来发送UINavigationController。因此导航控制器会调用self.presentViewController(imagePicker, animated: true, completion: nil)

这一切都运行良好,我的图像选择器弹出。取消它也能达到我的预期,并将我带回homeController。但是,如果我选择使用视频',我实际上想要导航到另一个视图。所以我这样做了;

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String:AnyObject]) {
        self.dismissViewControllerAnimated(true, completion: {
          self.pushViewController(self.detailController, animated: false)
        })
    }

奇怪的是,我看了detailController一小段时间,然后出现homeController。跟踪viewWillLoad / viewWillAppear调用,看来我的细节控制器确实加载了,然后出现。紧接着,homeController做同样的事情。所以我怀疑这是一个排序问题,但鉴于UIImagePickerControllerDelegate只有两种方法,我不知道我还能做什么呢......

有人能提出正确的方法吗?

1 个答案:

答案 0 :(得分:0)

原来它比我想象的更上游 - 我在viewWillAppear中做逻辑推送控制器。应该在viewDidLoad中这样做。移动它就行了。