2016-07-21 16 views

答えて

0

UIViewUIImageViewにキャプチャするために使用した拡張機能です。あなたが提案した通りに解決策にはUIReplicatViewの使用が含まれていません。しかし、それは私たちのために素晴らしい仕事をしています:

extension UIView { 
    // Note: only return the image after viewDidAppear called 
    func takeScreenShot() -> UIImage? { 
     UIGraphicsBeginImageContextWithOptions(bounds.size, isOpaque, UIScreen.main.scale) 

     if let scrollView = self as? UIScrollView { 
      let offset = scrollView.contentOffset 
      UIGraphicsGetCurrentContext()?.translateBy(x: -offset.x, y: -offset.y); 
     } 

     drawHierarchy(in: bounds, afterScreenUpdates: true) 
     let image = UIGraphicsGetImageFromCurrentImageContext() 
     UIGraphicsEndImageContext() 
     return image 
    } 
} 
関連する問題