我正在尝试将屏幕上的图像保存到相机胶卷。使用的方法在模拟器中完全可以正常工作,但在实际设备上图像是100%白色,我不知道为什么。这是代码。
@IBAction func saveImage(sender: AnyObject) {
let snapShot:UIView = backgroundImage.snapshotViewAfterScreenUpdates(true)
UIGraphicsBeginImageContext(backgroundImage.bounds.size)
snapShot.drawViewHierarchyInRect(backgroundImage.bounds, afterScreenUpdates: true)
let image:UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
}
同样,图像在模拟器上完美保存,但真实设备会收到空白图像。
我发现了该怎么做:
@IBAction func saveImage(sender: AnyObject) {
UIGraphicsBeginImageContextWithOptions(backgroundImage.bounds.size, true, 1.0)
backgroundImage.drawViewHierarchyInRect(backgroundImage.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
}