gpt4 book ai didi

ios - 从 UIScreen 获取快照

转载 作者:行者123 更新时间:2023-11-28 14:52:52 24 4
gpt4 key购买 nike

我想从包括状态栏在内的 View 中截取快照。

下面的代码可以在模拟器中运行,但不能在物理设备上运行。

extension UIScreen {

class func screenshot() -> UIImage {
let view = main.snapshotView(afterScreenUpdates: false)

UIGraphicsBeginImageContext(view.bounds.size)
view.drawHierarchy(in: view, afterScreenUpdates: true)

let screenshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return screenshot!
}
}

最佳答案

要解决您的问题,您可以使用此功能:

func takeScreenshot() -> UIImage? {
var screenshotImage :UIImage?
let layer = UIApplication.shared.keyWindow!.layer
let scale = UIScreen.main.scale
UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale);
guard let context = UIGraphicsGetCurrentContext() else {return nil}
layer.render(in:context)
screenshotImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

return screenshotImage
}

我刚刚对此进行了测试,它可以在物理设备上运行。

关于ios - 从 UIScreen 获取快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49668418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com