首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从UIScreen中获取快照

从UIScreen中获取快照
EN

Stack Overflow用户
提问于 2018-04-05 09:09:17
回答 2查看 287关注 0票数 0

我想从视图中获取快照,包括状态栏。

下面的代码在模拟器中工作,但不适用于物理设备。

代码语言:javascript
复制
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!
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-05 09:32:28

要解决问题,可以使用以下函数:

代码语言:javascript
复制
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
}

我刚刚测试了这个,它能在一个物理设备上工作。

票数 1
EN

Stack Overflow用户

发布于 2018-04-05 09:54:38

创建一个扩展如下:

代码语言:javascript
复制
extension UIApplication {

    func getViewScreenShot(vc: UIViewController) -> UIImage? {

        let scale = UIScreen.main.scale
        let bounds = vc.view.bounds
        UIGraphicsBeginImageContextWithOptions(bounds.size, false, scale)
        if UIGraphicsGetCurrentContext() != nil {
            vc.view.drawHierarchy(in: bounds, afterScreenUpdates: true)
            let screenshot = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext()
            return screenshot!
        }
        return nil
    }
}

并称之为:

代码语言:javascript
复制
weak var weakSelf = self
let screenShotImage: UIImage = UIApplication.shared.getViewScreenShot(vc: weakSelf!)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49668418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档