首先,你必须得到你的自定义键盘使用图像/ gifs ... iPhone设置 - >常规 - >键盘 - >键盘 - >添加新键盘...(选择您的键盘在第三方键盘下) - >单击您的键盘并切换允许完全访问
要做到这一点,您必须去位于键盘扩展文件夹中的info.plist中设置RequestsOpenAccess = YES。
的Info.plist - > NSExtension - > NSExtensionAttributes - > RequestsOpenAccess - > YES
下面的方法将获得按钮标签检查switch语句中的标签,并设置正确的图像根据按钮标签的粘贴板。
func btnPressed(sender: AnyObject) {
var btn = sender as UIButton
switch (btn.tag){
case 5:
let imageURL = NSBundle.mainBundle().pathForResource("cat", ofType: "png")
let data = NSData(contentsOfURL: NSURL(fileURLWithPath: imageURL!)!);
UIPasteboard.generalPasteboard().setData(data!, forPasteboardType: "public.png")
case 10:
let imageURL = NSBundle.mainBundle().pathForResource("dog", ofType: "png")
let data = NSData(contentsOfURL: NSURL(fileURLWithPath: imageURL!)!);
UIPasteboard.generalPasteboard().setData(data!, forPasteboardType: "public.png")
}}
用户则可以将图像粘贴到任何支持的应用...
希望这有助于!
谢谢您的建议。我试图将其添加到Info.plist文件中,但仍然没有运气。我再也没有得到这个错误(即使是因为某些原因原来的文件),但'UIPasteboard.generalPasteboard()'返回nil。 – 2014-09-23 16:47:13
你是对的,这是一个“完全访问”的问题。我将它添加到Info.plist的根目录,但它必须在Info.plist中完成 - > NSExtension - > NSExtensionAttributes - > RequestsOpenAccess - > YES **感谢您的帮助! – 2014-09-23 21:55:49
它必须在您的键盘扩展的info.plist中设置,而不是来自您的包含应用程序 – Jasper 2014-10-02 14:57:30