我正在实现仅包含图像的自定义键盘,并希望将图像发送到textDocumentProxy /输入控件,如textview,点击图片但不能克服它。 到目前为止,我能够将文本/字符串发送到输入控件而不是图像。
是否可以将图像发送到输入控件?
我们非常感谢任何建议或解决方案。
答案 0 :(得分:8)
以下是复制图像到pasteboard
的代码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]];
更多Uniform Type Identifiers you visit here并更改粘贴板类型。
愿这有助于解决你的问题。
<强>被修改强>
&#34;允许完全访问&#34;来自设置 - &gt;键盘 - &gt;键盘 - &gt;选择您的应用键盘 - &gt;在切换&#34;允许完全访问&#34;
答案 1 :(得分:1)
请尝试使用设备,您可以在设备中使用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)
并且允许&#34;允许完全访问&#34;用于设置中的键盘。并在info.plist文件中将RequestsOpenAccess
添加到YES。