私は画像のみでカスタムキーボードを実装しており、画像をクリックしてテキストビューのような textDocumentProxy/input コントロールに画像を送信したかったのですが、それを乗り越えたくありませんでした。これまでのところ、テキスト/文字列を入力コントロールに送信できますが、画像は送信できません。
入力コントロールに画像を送ることはできますか?
どんな提案や解決策も大歓迎です。
私は画像のみでカスタムキーボードを実装しており、画像をクリックしてテキストビューのような textDocumentProxy/input コントロールに画像を送信したかったのですが、それを乗り越えたくありませんでした。これまでのところ、テキスト/文字列を入力コントロールに送信できますが、画像は送信できません。
入力コントロールに画像を送ることはできますか?
どんな提案や解決策も大歓迎です。
以下は、画像をペーストボードにコピーするためのコードです
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://warp.povusers.org/images/test.png"]];
UIPasteboard *pasteBoard=[UIPasteboard generalPasteboard];
[pasteBoard setData:data forPasteboardType:@"public.png"];
今考えているのは、そのレイアウトでカスタムキーボードの拡張を作成し、UIButton とそのボタンアクションを上記の png 画像に実装できるということです。
Local Image の場合、次のコードは完全に役立ち、私の場合は機能しています。
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSData *imgData = UIImagePNGRepresentation(@"Your UIImage Here");
[pasteboard setData:imgData forPasteboardType:[UIPasteboardTypeListImage objectAtIndex:0]];
ここにアクセスしてPasteboard Type を変更するより多くのUniform Type Identifiers 。
これが大いに役立ち、問題を解決できますように。
編集済み
設定から「フルアクセスを許可」 -> キーボード -> キーボード -> アプリのキーボードを選択 -> 「フルアクセスを許可」のスイッチをオン
デバイスで試してみてください。デバイスの iMessage アプリでテストできます。UITextView や UITextField などのデフォルトの入力ビューは、画像をサポートしていません。文字列のみをサポートします。
次のコードは、画像をペーストボードにコピーします。
let pb = UIPasteboard.generalPasteboard()
let image: UIImage = UIImage(named: imgArray[indexPath.row])!
let imgData: NSData = UIImagePNGRepresentation(image)!
pb.setData(imgData, forPasteboardType: kUTTypePNG as String)
そして、設定でキーボードに「フルアクセスを許可」を与えます。RequestsOpenAccess
そして、info.plist ファイルで YES に追加します。