iOS: пользовательская клавиатура: я хочу отправить изображения в textDocumentProxy(элементы управления вводом)

Я реализую пользовательскую клавиатуру только с изображениями и хотел отправить изображения в textDocumentProxy/ элементы управления вводом, такие как просмотр текста по щелчку изображения, но не преодолеть его. до сих пор я могу отправлять текст / строку в элементы управления вводом, но не изображения.

Можно ли отправлять изображения на элементы управления вводом?

Любое предложение или решение высоко ценится.

2 ответа

Решение

Ниже приведен код для копирования изображения в картон

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]];

Больше унифицированных идентификаторов типов вы посещаете здесь и меняете тип картона.

Пусть это поможет и решит вашу проблему.

отредактированный

"Разрешить полный доступ" В меню "Настройки" -> "Клавиатура" -> "Клавиатуры" -> выберите клавиатуру приложения -> при включении "Разрешить полный доступ".

Пожалуйста, попробуйте на устройстве, вы можете проверить с приложением 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.

Другие вопросы по тегам