質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

WebKit

WebKitはAppleのSafariとAndroid, iOS, RIM Blackberry, SymbianとWebOSを含むインストール済みのモバイルブラウザの動力となっているオープンソースのウェブブラウザエンジンです。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

スナップショット

スナップショットは 開発中のプログラムのソースファイルや稼動中のデータベースの情報などを、 特定のタイミングで抜き出したり、または抽出したバックアップ情報の事です。

Q&A

0回答

325閲覧

swiftでスクショを撮りたいのですがpdfファイルを開いた場合のみスクショした画像が灰色になってしまいます

kj8

総合スコア16

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

WebKit

WebKitはAppleのSafariとAndroid, iOS, RIM Blackberry, SymbianとWebOSを含むインストール済みのモバイルブラウザの動力となっているオープンソースのウェブブラウザエンジンです。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

スナップショット

スナップショットは 開発中のプログラムのソースファイルや稼動中のデータベースの情報などを、 特定のタイミングで抜き出したり、または抽出したバックアップ情報の事です。

0グッド

0クリップ

投稿2018/12/11 04:59

前提・実現したいこと

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問