2016-12-06 2 views
0

Хотелось бы просмотреть мой код, у меня нет никаких ошибок, но когда я открываю контроллер своего вида, камера не запускается, есть только черный экран, даже кнопки не отображаются.Камера не отвечает

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) 
} 

} 

Я получаю только черный экран, даже никаких подсказок от Swift. Я не знаю, что делать теперь.

ответ

0

Это происходит, если вы не установили начальный контроллер. Убедитесь, что диспетчер просмотра, который вы хотите загрузить первым, устанавливается в качестве начального диспетчера представлений в вашем раскадровке.

enter image description here

+0

Но это не fisrst, это третий – Dakata