简体   繁体   English

相机无响应

[英]Camera is not responding

Would please review my code, I do not have any errors, but when I open my view controller, the camera doesn't start there is only a black screen, even the buttons do not appear. 请检查我的代码,我没有任何错误,但是当我打开视图控制器时,相机无法启动,只有黑屏,甚至没有按钮也没有出现。

import UIKit
import AVFoundation

class CameraViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {


let picker = UIImagePickerController()
@IBOutlet weak var myImageView: UIImageView!
@IBOutlet weak var cameraView: UIView!

    @IBAction func photoLibrary(_ sender: UIBarButtonItem) {

    picker.allowsEditing = false
    picker.sourceType = .photoLibrary
    picker.mediaTypes = UIImagePickerController.availableMediaTypes(for: .photoLibrary)!
    picker.modalPresentationStyle = .popover
    present(picker, animated: true, completion: nil)
    picker.popoverPresentationController?.barButtonItem = sender
}

@IBAction func shootPhoto(_ sender: UIBarButtonItem) {

    if UIImagePickerController.isSourceTypeAvailable(.camera) {
        picker.allowsEditing = false
        picker.sourceType = UIImagePickerControllerSourceType.camera
        picker.cameraCaptureMode = .photo
        picker.modalPresentationStyle = .fullScreen
        present(picker,animated: true,completion: nil)

    } else {
        noCamera()
    }
}
func noCamera(){
    let alertVC = UIAlertController(
        title: "No Camera",
        message: "Sorry, this device has no camera",
        preferredStyle: .alert)
    let okAction = UIAlertAction(
        title: "OK",
        style:.default,
        handler: nil)
    alertVC.addAction(okAction)
    present(
        alertVC,
        animated: true,
        completion: nil)
}
override func viewDidLoad() {
    super.viewDidLoad()
    picker.delegate = self
}

//MARK: - Delegates
private func imagePickerController(_ picker: UIImagePickerController,
                           didFinishPickingMediaWithInfo info: [String : AnyObject])
{
    var  chosenImage = UIImage()
    chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage //2
    myImageView.contentMode = .scaleAspectFit //3
    myImageView.image = chosenImage //4
    dismiss(animated:true, completion: nil) //5
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
    dismiss(animated: true, completion: nil)
}

 }

I only get completely black screen, even no hints from Swift. 我只能看到全黑的屏幕,甚至Swift也没有提示。 I do not know what to do now. 我不知道现在该怎么办。

This happens when you have not set an initial viewcontroller. 当您尚未设置初始ViewController时,就会发生这种情况。 Please make sure the viewcontroller you want to load first is set as initial viewcontroller in your storyboard. 请确保要首先加载的ViewController在情节提要中设置为初始ViewController。

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM