前提・実現したいこと
SwiftでiOSアプリを開発しています.
WKwebViewに検索したウェブサイトを表示し,その画面をスクショしたいと思っております.
どうぞよろしくお願い致します.
発生している問題・エラーメッセージ
swiftでiosアプリ開発中において,webViewに表示したwebページの画面をスクショする機能を作成しました.通常のサイトなどは問題なくスクショできるのですが,webView上に表示されたサイトのリンク先等にあるpdfファイルを開いた場合のみ,スクショした際に画面全体が灰色の画像を取得してしまいます.
該当のソースコード
Swift
1 //スクショを撮る関数 2 func getScreenShot(windowFrame: CGRect) -> UIImage { 3 4 UIGraphicsBeginImageContextWithOptions((webView.window?.bounds.size)!, false, 0.0) 5 6 let context: CGContext = UIGraphicsGetCurrentContext()! 7 self.view.layer.render(in: context) 8 let capturedImage : UIImage = UIGraphicsGetImageFromCurrentImageContext()! 9 UIGraphicsEndImageContext() 10 //トリムする範囲を指定 11 let scale = UIScreen.main.scale //iphoneの画面サイズに応じて大きさを変える 12 let rect = CGRect(x: 0, y: webView.frame.origin.y * scale, width: webView.bounds.width * scale, height: webView.bounds.height * scale) 13 //トリミング 14 let trimImage = capturedImage.cgImage?.cropping(to: rect) 15 let img = UIImage(cgImage: trimImage!) 16 return img 17 }
試したこと
webViewでpdfを表示することが悪いのか,スクショする処理に問題があるのか試行錯誤したか未だわかっておりません.
補足情報(FW/ツールのバージョンなど)
swift4
Xcode9.4
あなたの回答
tips
プレビュー