美文网首页ios 学习
[Swift] UIScrollView 长截图

[Swift] UIScrollView 长截图

作者: 巨馍蘸酱 | 来源:发表于2023-03-25 15:56 被阅读0次
            // 记录当前的scrollView的偏移量和坐标
            let currentContentOffSet:CGPoint = scrollView.contentOffset
            
            UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, false, UIScreen.main.scale)
            let pageCount: Int = Int(ceil(scrollView.contentSize.height/scrollView.frame.height))
            for i in 0..<pageCount {
                scrollView.contentOffset = CGPoint(x: 0, y: CGFloat(i) * scrollView.frame.height)
                scrollView.layer.render(in: UIGraphicsGetCurrentContext()!)
            }
            let image: UIImage? = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext()
            
            // 重新设置原来的参数
            scrollView.contentOffset = currentContentOffSet
            
            // 保存图片
            guard let image = image else {
                return
            }
            PHPhotoLibrary.shared().performChanges {
                PHAssetChangeRequest.creationRequestForAsset(from: image)
            } completionHandler: { (suc: Bool, err: Error?) in
                if let error = err, suc == false {
                    // 失败
                } else {
                    // 成功
                }
            }
    

    相关文章

      网友评论

        本文标题:[Swift] UIScrollView 长截图

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