我的变种:
@IBOutlet weak var imageView: UIImageView!
拍照功能:
func takePhoto(){
let picker = UIImagePickerController()
picker.delegate = self
picker.sourceType = .Camera
presentViewController(picker, animated: true, completion: nil)
}
错误讯息:
快照未渲染的视图会导致空白 快照。确保您的视图至少在之前呈现过一次 屏幕更新后的快照或快照
有什么想法吗?
答案 0 :(得分:2)
我遇到了同样的问题 - 一旦我打电话给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()
}
}
答案 1 :(得分:1)
确保您拥有:
super.viewDidLoad()
在你的viewDidLoad函数中。
答案 2 :(得分:1)
将您的self.presentViewController
或self.navigationController?.showViewController
置于dispatch_async(dispatch_get_main_queue()) {
dispatch_async(dispatch_get_main_queue()) {
self.presentViewController(imagePicker, animated: true, completion: nil)
}
答案 3 :(得分:0)
您的代码看起来很好。我会重新启动XCode并仔细检查你的didFinishPickingImage方法,以确保它正常关闭。问题可能出在你的转型上。这在过去几次发生在我身上,从未成为一件大事。
答案 4 :(得分:0)
您可能过快地将其分配给另一个UIImageView,尝试先将其保存在另一个变量中,然后在func ViewDidLoad中将该图像放入UIImageView中。这对我有用!
答案 5 :(得分:0)
转到设置 - >隐私 - >相机并启用或禁用单个应用程序的相机访问
当密钥:“CFBundleDisplayName”在Info.plist中有一个空字符串值时,似乎会出现此问题。