当我截取屏幕截图以分享我的设备(iPhone)的当前视图时,它只占用它的上半部分,当我向下滚动到底部(运行时我的tableview)时,屏幕截图为空白如果没有捕获设备上的当前视图 - 我希望我在那里解释好。
我错过了什么吗?
func captureScreen() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, false, 0);
self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let image:UIImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image
}
答案 0 :(得分:-1)
将您的代码更改为以下内容:
func captureScreen() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, false, 0);
self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let image:UIImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image
}
请注意代码中绑定到框架的更改。 UIGraphicsBeginImageContextWithOptions
中的最后一个参数与比例有关。 If you specify a value of 0.0, the scale factor is set to the scale factor of the device’s main screen
详细了解here