如何使用自定义键盘IO发送映像

How to send an image with custom keyboard iOS(如何使用自定义键盘IO发送映像)

本文介绍了如何使用自定义键盘IO发送映像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建我的第一个定制键盘。我用的是SWIFT 2和Xcode 7。我用这个作为我的键盘

(我在iPhone上运行它)当我点击小外星人的脸时,我想要

  1. 带有该图像的小表情符号或

  2. 将图像(如果可能)插入到用户正在键入的位置。我已尝试过此代码

    let pasteboard: UIPasteboard = UIPasteboard.generalPasteboard()
    let image: UIImage = currentImage!
    let newImage = scaleImage(image, toSize: CGSize(width: 40, height: 40))
    let imgData: NSData = UIImagePNGRepresentation(newImage)!
    pasteboard.setData(imgData, forPasteboardType: UIPasteboardTypeListImage[0] as! String)
    
    let proxy = UITextDocumentProxy.self as! UITextDocumentProxy
    let data = pasteboard.string!
    print(data)
    proxy.insertText(data)
    

但我一直没有成功。当Iprint(data)时,我收到nil,后跟EXC_BAD_ACCESS。我怎样才能实现我的两个目标中的任何一个呢?感谢您的帮助。

推荐答案

对于SWIFT 5:

import MobileCoreServices

guard
    let newImage = UIImage(named: "yourImage.png"),
    let imgData = newImage.pngData()
else { return }

UIPasteboard.general.setData(imgData, forPasteboardType: kUTTypePNG as String)

还要将您的键盘扩展名info.plist设置为:

<dict>
    <key>IsASCIICapable</key>
    <false/>
    <key>PrefersRightToLeft</key>
    <false/>
    <key>PrimaryLanguage</key>
    <string>en-US</string>
    <key>RequestsOpenAccess</key>
    <true/>
</dict>

这篇关于如何使用自定义键盘IO发送映像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何使用自定义键盘IO发送映像