【发布时间】:2018-08-10 05:44:44
【问题描述】:
我正在尝试使用 Swift 4 将多个 NSImage 复制到粘贴板 - 像这样:
private func putItemsOnPasteboard (_ items: [Int]) {
if let images = mainImageController?.getNSImages(for: items) {
NSPasteboard.general.clearContents()
NSPasteboard.general.writeObjects(images)
if let c = NSPasteboard.general.pasteboardItems?.count {
print (c)
}
}
}
NSImage 实现了 NSPasteboardWriting,它运行良好。问题是,如果我随后粘贴到邮件中,它只会粘贴第一张图片,我正在努力找出原因。
例如,如果我用三个图像调用该函数,它似乎都可以工作,并且我的诊断“打印 (c)”正确显示“3”。但如果我粘贴到 Mail(或 OneNote 等)中,它只会粘贴第一张图片。
我知道 Mail 支持粘贴多个图像,因为我可以在 Apple Photos 中选择三个缩略图,将它们复制到粘贴板,然后它会正确地将所有三个都粘贴到 Mail 中。
任何线索将不胜感激!
【问题讨论】:
-
你可能应该做的是从照片中复制,然后在你的应用程序中分析粘贴板的内容。然后尝试复制照片生成的粘贴板内容格式。
标签: swift macos cocoa nsimage nspasteboard