Swift – 快照未渲染的视图会导致空快照

我的变种:

@IBOutlet weak var imageView: UIImageView! 

拍照function:

 func takePhoto(){ let picker = UIImagePickerController() picker.delegate = self picker.sourceType = .Camera presentViewController(picker, animated: true, completion: nil) } 

错误信息:

快照未呈现的视图会导致空快照。 确保在屏幕更新后快照或快照之前,您的视图至少呈现过一次

有任何想法吗?

我有同样的问题 – 我有两个选项,一旦我打电话给VC – 从照片或自拍 – 当我选择自拍即相机Xcode打印该消息但不离子我选择照片 – 所以我的猜测是它的一个错误相机应用程序 它从来没有崩溃我的应用程序所以我忽略它代码:

 @IBAction func openCameraButton(sender: AnyObject) { if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera) == true { camera = true imagePicker.delegate = self imagePicker.sourceType = .Camera imagePicker.allowsEditing = false self.presentViewController(imagePicker, animated: true, completion: nil) }else{ noCamera() } } 

确保你有:

 super.viewDidLoad() 

在你的viewDidLoad函数中。

把你的self.presentViewController或你的self.navigationController?.showViewController放在dispatch_async(dispatch_get_main_queue()) {

 dispatch_async(dispatch_get_main_queue()) { self.presentViewController(imagePicker, animated: true, completion: nil) } 

你的代码看起来很好。 我会重新启动XCode并仔细检查你的didFinishPickingImage方法,以确保它正常关闭。 问题可能出在你的转型上。 这在过去几次发生在我身上,从未成为一件大事。

您可能太快将其分配给另一个UIImageView,尝试先将其保存在另一个变量中,然后在func ViewDidLoad中将该图像放入UIImageView中。 这对我有用!

转到设置 – >隐私 – >相机并为各个应用启用或禁用相机访问权限

当密钥:“CFBundleDisplayName”在Info.plist中具有空字符串值时,似乎会发生此问题。