Swift 为什么我的屏幕截图不显示当前视图?
当我拍摄屏幕截图来分享我的设备(iPhone)的当前视图时,它只会占据它的上部,当我向下滚动到底部(运行时我的tableview),屏幕截图是空白的,好像没有捕捉设备上的当前视图-我希望我在这里解释得很好 我遗漏了什么吗Swift 为什么我的屏幕截图不显示当前视图?,swift,Swift,当我拍摄屏幕截图来分享我的设备(iPhone)的当前视图时,它只会占据它的上部,当我向下滚动到底部(运行时我的tableview),屏幕截图是空白的,好像没有捕捉设备上的当前视图-我希望我在这里解释得很好 我遗漏了什么吗 func captureScreen() -> UIImage { UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, false, 0); self.view.drawViewHi
func captureScreen() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, false, 0);
self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let image:UIImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image
}
将代码更改为以下内容:
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
中的最后一个参数与比例有关<代码>如果指定值为0.0,则比例因子设置为设备主屏幕的比例因子
了解更多信息检查此项不确定是否相关,但您是否知道
边界
和框架
之间的区别?可能在其中一种方法中,您应该使用frame
。我认为应该是UIGraphicsBeginImageContextWithOptions(self.view.frame.size,false,1)
这确实是用frame
替换bounds
。谢谢大家!有没有办法接受你的答案?我看不到复选标记。它们只是注释,不是答案!因此您不能接受一个;)很乐意帮忙