相机在iOS中的视图转换时打开

时间:2016-12-12 23:53:48

标签: ios swift

import UIKit

class DrawingTransistionViewController: UIViewController,
    UIImagePickerControllerDelegate,
    UINavigationControllerDelegate
{
    override func viewWillAppear(_ animated: Bool)
    {
        let imagePicker = UIImagePickerController()

        imagePicker.delegate = self
        imagePicker.sourceType = .camera

        self.present(imagePicker, animated: true, completion: nil)
    }
}

目前,当代码运行时,它会打开相机,但是当您退出相机时,相机会再次打开,因为视图会再次出现。所以我陷入了一个不变的循环中。我希望相机在视图之间转换时只打开一次。我已经尝试过viewWillDisappear(),viewDidAppear和viewDidDisappear()但是没有取得任何成功。

这是我能找到的唯一有用的文档,但它没有多少运气。 https://developer.apple.com/reference/uikit/uiviewcontroller#//apple_ref/doc/uid/TP40006926-CH3-SW18

有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我没有完全理解你的问题。 Uglu的解决方案就是把boolen isCameraOpen放进去,然后在打开相机之前只是aks打开,第一次打开时只需将bool设置为true即可。你为什么不使用viewDidLoad?