2011-01-21 88 views
3

当使用NSOpenPanel打开文件时,我试图让用户只选择iPhoto图库。例如,Aperture库的扩展名为.aplibrary。但是,iPhoto图库似乎没有扩展名。NSOpenPanel限制选择到iPhoto图书馆

有关您的信息,Aperture和iPhoto库捆绑到一起是完全正确的。 Aperture软件包具有.aplibrary扩展名,而iPhoto软件包似乎没有扩展名。

如何让用户只选择iPhoto包?由于缺少扩展,我不能使用“setAllowedFileTypes”。然而,iPhoto似乎确实能够做出区分,但我不明白在这种情况下做了什么。

回答

3

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

+1

谢谢你的回应,格雷厄姆。问题在于用户只需点击“打开”按钮即可获得反馈。我正在寻找一种方法,让不应该被打开的文件变灰。 – 2011-01-21 11:12:14