如何使用 Swift 以编程方式粘贴图像?
How do I paste an image programmatically with Swift?
我有一个工作代码,可以将图像复制到 UIPasteboard,但我找不到以编程方式实现 PASTE 功能的方法。有什么想法或提示吗?
以下代码片段可能有效。确保您正在设备上进行测试。
let image = UIImage(named: "person.png")
UIPasteboard.generalPasteboard().image = image;
根据评论,您可以按如下方式进行。我把 objective-c 代码放在这里,我希望你能理解,然后把它转换成 swift.
NSData* pasteData = [[UIPasteboard generalPasteboard] dataForPasteboardType:(NSString*)kUTTypeJPEG];
您可能会在以下 url 中找到 swift 解决方案
Swift UIPasteboard not copying PNG
或者,您可以使用 NSData。它也适用于模拟器。
// Copy
let image = UIImage(named: "sample")
let imageData = UIImageJPEGRepresentation(image!, 1)
UIPasteboard.general.setData(imageData!, forPasteboardType: "image")
// Paste
let imageData = UIPasteboard.general.data(forPasteboardType: "image")
let image = UIImage(data:imageData!)
copiedImage.image = image
Swift 3
如果图像是从另一个应用程序(例如 Safari)复制的,这就是我将其添加到我的应用程序中的方式。我从 UIAlertController 作为 UIAlertAction 触发它。
let pasteboard = UIPasteboard.general
if pasteboard.hasImages {
myImage.image = pasteboard.image
}
我有一个工作代码,可以将图像复制到 UIPasteboard,但我找不到以编程方式实现 PASTE 功能的方法。有什么想法或提示吗?
以下代码片段可能有效。确保您正在设备上进行测试。
let image = UIImage(named: "person.png")
UIPasteboard.generalPasteboard().image = image;
根据评论,您可以按如下方式进行。我把 objective-c 代码放在这里,我希望你能理解,然后把它转换成 swift.
NSData* pasteData = [[UIPasteboard generalPasteboard] dataForPasteboardType:(NSString*)kUTTypeJPEG];
您可能会在以下 url 中找到 swift 解决方案 Swift UIPasteboard not copying PNG
或者,您可以使用 NSData。它也适用于模拟器。
// Copy
let image = UIImage(named: "sample")
let imageData = UIImageJPEGRepresentation(image!, 1)
UIPasteboard.general.setData(imageData!, forPasteboardType: "image")
// Paste
let imageData = UIPasteboard.general.data(forPasteboardType: "image")
let image = UIImage(data:imageData!)
copiedImage.image = image
Swift 3
如果图像是从另一个应用程序(例如 Safari)复制的,这就是我将其添加到我的应用程序中的方式。我从 UIAlertController 作为 UIAlertAction 触发它。
let pasteboard = UIPasteboard.general
if pasteboard.hasImages {
myImage.image = pasteboard.image
}