【问题标题】:NSOpenPanel limit selection to iPhoto libraryNSOpenPanel 限制对 iPhoto 库的选择
【发布时间】:2011-01-21 19:17:25
【问题描述】:

当使用 NSOpenPanel 打开文件时,我试图让用户只选择 iPhoto 库。例如,Aperture 库具有扩展名 .alibrary。然而,iPhoto 库似乎没有扩展名。

供您参考,Aperture 和 iPhoto 图库是完全正确的捆绑包。 Aperture 捆绑包具有 .alibrary 扩展名,而 iPhoto 捆绑包似乎没有扩展名。

如何让用户只选择 iPhoto 包?由于缺少扩展名,我无法使用“setAllowedFileTypes”。然而,iPhoto 似乎确实能够做出区分,但我不知道在这种情况下是如何做到的。

【问题讨论】:

    标签: cocoa macos iphoto


    【解决方案1】:

    NSOpenPanel 有一个委托,它应该实现NSOpenSavePanelDelegate。其中一种方法是-panel:shouldEnableURL: - 如果您实现该方法,您可以根据您想要的任何逻辑检测是否让某人打开位置。

    【讨论】:

    • 感谢您的回复,格雷厄姆。问题是用户只有在点击“打开”按钮后才能得到反馈。我正在寻找一种方法,让不应打开的文件变灰。
    • @bare_nature: -panel:shouldEnableURL: 在文件出现时被调用。您正在考虑-panel:validateURL:error:,它在用户单击“打开”后被调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多