2011-01-21 102 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