我正在实现只有图像的自定义键盘,并希望在单击图像时将图像发送到 textDocumentProxy/input 控件,例如 textview,但不能克服它。到目前为止,我能够将文本/字符串发送到输入控件,但不能发送图像。
是否可以将图像发送到输入控件?
任何建议或解决方案都将受到高度赞赏。
我正在实现只有图像的自定义键盘,并希望在单击图像时将图像发送到 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 App 进行测试。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。