2013-04-17 19 views
1

我有一個NSOpenPanel。我想使PDF文件不應該被選中。不允許NSOpenPanel中的特定文件類型

正如我們可以設置「允許的文件類型」:

NSOpenPanel *panel; 
NSArray* fileTypes = [[NSArray alloc] initWithObjects:@"pdf", @"PDF", nil]; 
panel = [NSOpenPanel openPanel]; 
[panel setFloatingPanel:YES]; 
[panel setCanChooseDirectories:NO]; 
[panel setCanChooseFiles:YES]; 
[panel setAllowsMultipleSelection:YES]; 
[panel setAllowedFileTypes:fileTypes]; 
int i = [panel runModal]; 
if(i == NSOKButton){ 
    return [panel URLs]; 
} 

我的要求是不允許一個特定的文件類型。

回答

1

對此,您可以使用NSOpenSavePanelDelegate方法panel:shouldEnableURL:

該小組將詢問其代表它正在顯示的每個URL;檢查文件的擴展名或UTI,並將該方法的NO返回給PDF。

或者,您只需拿出您的做的支持並將其用於allowedFileTypes陣列的文件類型的詳盡列表。

+0

shouldEnableURL沒有被調用我有setDelegate,我是否需要設置一些其他屬性? – kamleshwar

+1

不,您只需要在用於委託的對象上實現方法。 –

+0

是的爲我工作! – kamleshwar

相關問題