如何使用自定义键盘 iOS 发送图像

Pra*_*hwa 6 uiimage ios emoji swift custom-keyboard

我正在构建我的第一个自定义键盘。我正在使用 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)
    
    Run Code Online (Sandbox Code Playgroud)

但我一直没有成功。当我 时print(data),我收到nil,然后是EXC_BAD_ACCESS下一行的 。我怎样才能实现我的两个目标中的一个?感谢您的帮助。

小智 3

对于斯威夫特 5:

import MobileCoreServices

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

UIPasteboard.general.setData(imgData, forPasteboardType: kUTTypePNG as String)
Run Code Online (Sandbox Code Playgroud)

还将键盘扩展 info.plist 设置为:

<dict>
    <key>IsASCIICapable</key>
    <false/>
    <key>PrefersRightToLeft</key>
    <false/>
    <key>PrimaryLanguage</key>
    <string>en-US</string>
    <key>RequestsOpenAccess</key>
    <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)

  • 这只是将图像复制到粘贴板。如何将图像从粘贴板粘贴到 iMessage 上的聊天部分?谢谢。 (3认同)