美文网首页
Swift - 截图功能(使用UIView扩展方式)

Swift - 截图功能(使用UIView扩展方式)

作者: 1b3bd36d9d21 | 来源:发表于2019-08-19 11:05 被阅读0次

介绍如果将UIView截图成UIImage并且保存到相册中,通过使用UIView的扩展方式实现,好处有两点,1是可以对Window整个窗口操作,2是对单独View视图操作。具体实现代码如下,非常简单。

为方便使用,我们首先对 UIView 进行扩展(UIView+Ext.swift),增加一个将其转为 UIImage 的方法
import UIKit
 
extension UIView {
    //将当前视图转为UIImage
    func asImage() -> UIImage {
        let renderer = UIGraphicsImageRenderer(bounds: bounds)
        return renderer.image { rendererContext in
            layer.render(in: rendererContext.cgContext)
        }
    }
}
使用方式
/// 整个窗口截屏
let image = UIApplication.shared.keyWindow!.asImage()

/// 某一个单独View截图
let image = self.imageBgView.asImage()

/// 将转换后的UIImage保存到相机胶卷中
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)

相关文章

网友评论

      本文标题:Swift - 截图功能(使用UIView扩展方式)

      本文链接:https://www.haomeiwen.com/subject/cpqssctx.html