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中具有空字符串值时,似乎会发生此问题。