前提・実現したいこと
TextViewのフルスクリーンショットを撮りたい。
発生している問題・エラーメッセージ
TextViewをスクロールしても、見えてない部分もスクリーンショットで撮影したいのですが、TextViewで見えてない部分が見切れてしまうか、撮影できない状態です。
撮影したスクリーンショットが以下で、「こんちは」の部分が切れてしまいます。
希望としては、スクロールをしてもTextViewに表示されている上下全てのTextをスクリーンショットに収めたいです。
該当のソースコード
func screenShot() { let size = CGSize(width: self.textView.contentSize.width, height: self.textView.contentSize.height) UIGraphicsBeginImageContextWithOptions(size, false, 0.0) let context: CGContext = UIGraphicsGetCurrentContext()! textView.layer.render(in: context) let Image : UIImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() UIImageWriteToSavedPhotosAlbum(Image, nil, nil, nil) }
試したこと
GoogleでSwiftのスクリーンショットの資料を調べ、
https://bugsdb.com/_ja/debug/0d3b4bf994c28e96dae092fa789ad7db
や
https://teratail.com/questions/115989
を参考にしたのですが、同様に見切れてしまいました。
フルスクリーンショットを撮れる所までは出来たのですが、デバイスでTextviewのフレーム内で表示している範囲しかスクリーンショットが撮れないです。
UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
を
UIGraphicsBeginImageContextWithOptions(textView.frame.size, false, UIScreen.mainScreen().scale)
に修正したりしている状況ですが、現状解決できない状態です。
ご教示いただけたら幸いです。
よろしくお願いします。
不足している情報などありましたら、迅速に情報追加いたします。
補足情報(FW/ツールのバージョンなど)
Swift5 Xcode11
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。