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.