【问题标题】:Issue with custom keyboard with images带有图像的自定义键盘问题
【发布时间】:2017-02-22 04:59:06
【问题描述】:

我正在开发 iOS 自定义键盘。在此我需要在自定义键盘中显示贴纸和 gif,我可以在键盘上显示图像,但问题是,当用户从键盘选择图像时,我想在 textDocumentProxy 上显示它。在做了一些研究之后,我了解到不可能将图像插入为textDocumentProxy.insertText。所以我尝试UIPasteboard从键盘复制图像并将其粘贴到输入字段like this

这是我的代码:

let pb = UIPasteboard.generalPasteboard()
let image: UIImage = UIImage(named: "1.png")!
let imgData: NSData = UIImagePNGRepresentation(image)!
pb.setData(imgData, forPasteboardType: kUTTypePNG as String)
pb.image = image

我还在 .plist 文件中将RequestsOpenAccess 设置为true,并允许访问设备中的自定义键盘。但这对我不起作用。

请提出可能的方法来做到这一点。提前致谢。

【问题讨论】:

  • 当我在键盘上选择图像时,它不会显示图像是否被复制。粘贴也是如此。当我在输入视图中长按时,它也不显示粘贴选项。
  • 请查看此答案,希望能解决您的问题:- stackoverflow.com/a/39554347/3752143

标签: ios keyboard custom-keyboard uipasteboard


【解决方案1】:

您想在自定义键盘link. 中使用 gif 图像,并且在上面的代码中您使用的是 png 图像。

如果你想复制非 gif 图像,那么你可以使用下面的 Swift 3 代码

@IBOutlet weak var imageview: UIImageView!
var img : UIImage = UIImage(named:"1.png")!
imageview = UIImageView(image: img)
//copy image code
UIPasteboard.general.image = imageview.image!

或者如果你想使用 gif 图像,那么你可以使用下面的 Swift 3 代码

let url = Bundle.main.url(forResource: "imagename", withExtension: ".gif")
let data: NSData = NSData(contentsOf: url!)!
UIPasteboard.general.setData(data as Data, forPasteboardType: "com.compuserve.gif")

【讨论】:

  • 你能分享你得到的解决方案吗@Ramakrishna 我也有同样的问题,谢谢
猜你喜欢
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 2013-11-11
  • 2017-11-02
  • 2016-03-04
  • 2014-11-29
  • 2011-02-17
  • 2017-05-17
相关资源
最近更新 更多