使用UIPasteBoard(Swift)复制图像

Gul*_*led 6 cocoa-touch uipasteboard ios swift

我最近看到了这个项目,用户可以从自定义键盘上点击GIF,他们会看到一个"复制"的工具包.我有一个问题:

任何人都可以给我一些示例代码来使用.我理解如何使用UIPasteboard及其功能,但是当我在这个函数中输入UTI类型"public.png"时,我似乎无法使它工作:(我在Objective-c中注意到它是"@public.png ",但我放了"public.png"我在网上找不到这个来源了)

 let imageURL = NSString(string:NSBundle.mainBundle().pathForResource("test", ofType: "png")!)
        var data = NSData(contentsOfURL: NSURL(string:imageURL)!)
        UIPasteboard.generalPasteboard().setData(data!, forPasteboardType: "public.png")
Run Code Online (Sandbox Code Playgroud)

Sof*_*ner 9

使用UIPasteboard.generalPasteboard().image = image;它时,似乎图像不会复制到粘贴板.而是尝试下一个代码,它还解释了如何替换"public.png"字符串:

// The Pasteboard is nil if full access is not granted
// 'image' is the UIImage you about to copy to the pasteboard
if let pb = UIPasteboard.generalPasteboard() {
    let type = UIPasteboardTypeListImage[0] as! String
    if !type.isEmpty {
        pb.setData(UIImagePNGRepresentation(image), forPasteboardType: type)
        if let readData = pb.dataForPasteboardType(type) {
            let readImage = UIImage(data: readData, scale: 2)
            println("\(image) == \(pb.image) == \(readImage)")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


use*_*872 6

尝试使用此代码:

let image = UIImage(named: "myimage.png")
UIPasteboard.generalPasteboard().image = image;
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到它的工作原理!

希望这可以帮助