iOS:自定义键盘:我想将图像发送到 textDocumentProxy(输入控件)
iOS: Custom keyboard: I want to send images to the textDocumentProxy(Input controls)
我正在实现仅包含图像的自定义键盘,并希望在单击图像时将图像发送到 textDocumentProxy/input 控件(如 textview),但无法克服它。
到目前为止,我可以将 text/string 发送到输入控件,但不能发送图像。
是否可以将图像发送到输入控件?
非常感谢任何建议或解决方案。
以下是将图片复制到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 并更改粘贴板类型。
希望这对您有所帮助并解决您的问题。
已编辑
"Allow Full Access" 从设置 -> 键盘 -> 键盘 -> select 您的应用程序键盘 -> 在 "Allow Full Access"
的开关上
请在设备中试用,您可以在设备中使用 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)
并在设置中为键盘提供 "Allow Full Access"。并在 info.plist 文件中将 RequestsOpenAccess
添加到 YES。
我正在实现仅包含图像的自定义键盘,并希望在单击图像时将图像发送到 textDocumentProxy/input 控件(如 textview),但无法克服它。 到目前为止,我可以将 text/string 发送到输入控件,但不能发送图像。
是否可以将图像发送到输入控件?
非常感谢任何建议或解决方案。
以下是将图片复制到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 并更改粘贴板类型。
希望这对您有所帮助并解决您的问题。
已编辑
"Allow Full Access" 从设置 -> 键盘 -> 键盘 -> select 您的应用程序键盘 -> 在 "Allow Full Access"
的开关上请在设备中试用,您可以在设备中使用 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)
并在设置中为键盘提供 "Allow Full Access"。并在 info.plist 文件中将 RequestsOpenAccess
添加到 YES。