如何获取scrollview / tableview(Autolayout / SnapKit)的完整快照

时间:2019-10-24 03:13:09

标签: ios swift tableview scrollview snapkit

当我使用Frame布局子视图时,可以获取scrollview的整个快照。但是,当我使用AutoLayout / SnapKit时,下面的代码将无法工作。为什么?

extension UIScrollView {

    var cc_snapshot: UIImage? {
        UIGraphicsBeginImageContextWithOptions(contentSize, false, 0)
        defer {
            UIGraphicsEndImageContext()
        }
        guard let context = UIGraphicsGetCurrentContext() else { return nil }
        let previousFrame = frame
        let previousOffset = contentOffset
        frame = CGRect(x: 0, y: 0, width: contentSize.width, height: contentSize.height)
        contentOffset = CGPoint.zero
        layer.render(in: context)
        frame = previousFrame
        contentOffset = previousOffset
        return UIGraphicsGetImageFromCurrentImageContext()
    }

}

0 个答案:

没有答案