objective-c - 接受 iPhoto 或 Aperture 的拖放

标签 objective-c macos cocoa nspasteboard iphoto

我创建了一个应用程序,其中包含一个 ImageView 子类,该子类接受直接从 Finder 拖放文件/文件夹。

问题是我现在正尝试让它接受来自 iPhoto 或 Aperture 的照片。

我应该注册哪些 PboardType

我目前正在做的是:

    [self registerForDraggedTypes:
     [NSArray arrayWithObjects:NSFilenamesPboardType, nil]];

有什么想法吗?

最佳答案

使用 Pasteboard Peeker(来自 Apple)向我展示 Aperture 为您提供文件名/U​​RL 以及“aperture 图像数据”(无论是什么)。 iPhoto 似乎只提供“ImageDataListPboardType”,这是一个 PLIST。我猜你可以 NSLog() 来查看它的结构并从中提取图像信息。它可能包含文件名/U​​RL 信息以及实际图像作为数据。

关于objective-c - 接受 iPhoto 或 Aperture 的拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13197533/

相关文章:

ios - UIScrollView-zoomToRect :animated: and CGPoint conversion between views

ios - 集成 Firebase 数据库后的链接器错误

swift - NSSavePanel 名称不是用户可编辑的

cocoa - 在 Cocoa 应用程序中以 Cmd-Tab 或 Spotlight 的形式捕获系统事件

c - 字符串格式化技巧/文档

objective-c - NSTextView(带有 NSTextTable)上的拖动选择只能选择一列吗?

objective-c - 在 UISearchBar 中搜索时自动完成

ios - GCD : cancelation of blocks in global concurrent queue

objective-c - 捕获播放声音

c++ - 如何在 macOS 的旧扩展 clang 和 gcc 编译器中初始化数组和 vector ?