Swift - ios 应用程序黑屏,拍照

Swift - black screen in ios application, which takes photo

我希望能够在我的应用中拍照。但是,当我按下按钮时,屏幕变黑了。你能帮我解决这个问题吗? 我有 imageView 和一个按钮来制作照片。

我有这样的代码:

var imagePicker: UIImagePickerController!       
@IBOutlet var imageView: UIImageView!

@IBAction func takePhoto(_ sender: UIButton) {

    let imagePicker = UIImagePickerController()
    imagePicker.delegate = self
    imagePicker.sourceType = UIImagePickerControllerSourceType.camera
    imagePicker.allowsEditing = false

    let vc = ViewController()
    var navigationController = UINavigationController(rootViewController: vc)

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

已添加 class 中所有必要的代表。可能是self.present()中的错误,但在其他情况下它不起作用。

self.presentViewController(imagePicker, animated: true, completion: nil) 在新版本中不起作用。

第二个问题: 是否可以直接在视图中看到相机屏幕?不仅是按下按钮后?

您应该会出席 UIImagePickerController。当前,您正在展示一个带有空视图控制器的导航控制器,这就是屏幕变黑的方式。

试试这个..

var imagePicker: UIImagePickerController!       
@IBOutlet var imageView: UIImageView!

@IBAction func takePhoto(_ sender: UIButton) {

    let imagePicker = UIImagePickerController()
    imagePicker.delegate = self
    imagePicker.sourceType = UIImagePickerControllerSourceType.camera
    imagePicker.allowsEditing = false        
    self.present(imagePicker, animated: true, completion: nil)
}