为什么我的屏幕截图没有显示当前视图?

时间:2016-04-25 15:46:58

标签: swift

当我截取屏幕截图以分享我的设备(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
}

1 个答案:

答案 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