iOS:自定义键盘:我想将图像发送到textDocumentProxy(输入控件)



我正在实现只有图像的自定义键盘,并希望在点击图像时将图像发送到textDocumentProxy/input控件,如textview,但无法克服。到目前为止,我可以向输入控件发送文本/字符串,但不能发送图像。

是否可以将图像发送到输入控件?

我们非常感谢任何建议或解决方案。

以下是将图像复制到粘贴板的代码

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图像中。

对于本地图像,以下代码对您完全有帮助,在我的情况下也有效。

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)

并在设置中为键盘提供"允许完全访问"。并在info.plist文件中将RequestsOpenAccess添加到YES。

相关内容

  • 没有找到相关文章