【发布时间】:2018-01-09 18:29:52
【问题描述】:
我正在开发将UIView 转换为UIImage 的扩展程序,但我遇到了一个奇怪的问题,即我能够在iOS 模拟器中获得正确的图像,但在真实设备中却得到黑色图像。下面是我的代码
extension UIView {
func screenshotImage() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, false, 0.0);
self.drawHierarchy(in: self.bounds, afterScreenUpdates: true)
let screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return screenShot!
}
}
谁能解释我做错了什么,我无法在真实设备中获得正确的图像?
编辑
观察:
每当我在模拟器中将 UIView 传递给此扩展程序时,我都会获得该视图的完美图像
每当我在真实设备中将 UIView 传递给此扩展程序时,我都会得到一个完全黑色的图像,而不是 UIView 中的元素,这与模拟器结果不同。
【问题讨论】:
-
请查看here,我想你已经找到答案了。
-
具体告诉我们您的代码如何未能按照您的意愿行事。你得到了什么错误,或者结果不是你想要的?
-
@DuncanC 我已经编辑了我的问题并添加了我的观察结果。如果还不清楚,请告诉我
标签: ios iphone swift3 uiview uiimage