如何使用自定义键盘IO发送映像
我正在构建我的第一个定制键盘。我用的是SWIFT 2和Xcode 7。我用这个作为我的键盘
(我在iPhone上运行它)当我点击小外星人的脸时,我想要
带有该图像的小表情符号或
将图像(如果可能)插入到用户正在键入的位置。我已尝试过此代码
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>
相关文章