An empty snapshotView on iPhone 7/7plus

前端 未结 2 1066
小鲜肉
小鲜肉 2021-02-19 19:30

My first question here:) Recently I update my Xcode to 8, and the resizableSnapshotView method doesn\'t work properly on some simulators. The snapshotView works we

2条回答
  •  独厮守ぢ
    2021-02-19 20:18

    Use the following UIView extension to create a snapshot using CoreGraphics.

    I can confirm this works on iPhone 7 simulator.

    public extension UIView {
    
        public func snapshotImage() -> UIImage? {
            UIGraphicsBeginImageContextWithOptions(bounds.size, isOpaque, 0)
            drawHierarchy(in: bounds, afterScreenUpdates: false)
            let snapshotImage = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext()
            return snapshotImage
        }
    
        public func snapshotView() -> UIView? {
            if let snapshotImage = snapshotImage() {
                return UIImageView(image: snapshotImage)
            } else {
                return nil
            }
        }
    }
    

提交回复
热议问题