5

私は画像のみでカスタムキーボードを実装しており、画像をクリックしてテキストビューのような textDocumentProxy/input コントロールに画像を送信したかったのですが、それを乗り越えたくありませんでした。これまでのところ、テキスト/文字列を入力コントロールに送信できますが、画像は送信できません。

入力コントロールに画像を送ることはできますか?

どんな提案や解決策も大歓迎です。

4

2 に答える 2

8

以下は、画像をペーストボードにコピーするためのコードです

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 。

これが大いに役立ち、問題を解決できますように。

編集済み

設定から「フルアクセスを許可」 -> キーボード -> キーボード -> アプリのキーボードを選択 -> 「フルアクセスを許可」のスイッチをオン

于 2015-04-09T08:32:41.077 に答える
1

デバイスで試してみてください。デバイスの 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 に追加します。

于 2016-10-15T06:36:43.417 に答える