如何通过NSOpenPanel打开具有新文件夹功能的面板?

问题描述 投票:2回答:2

默认情况下,我们使用NSOpenPanel类方法打开一个打开的面板:-beginSheetForDirectory:file:types:modalForWindow:modalDelegate:didEndSelector:contextInfo:但我发现有些软件可以打开带有新文件夹按钮的打开面板,包含XCode,怎么弄明白?非常感谢!

cocoa
2个回答
4
投票

由于NSOpenPanel继承自NSSavePanel,您可以使用NSSavePanel的setCanCreateDirectories方法,如下所示:

    // Show an 'Open' dialog box allowing save folder selection.
    NSOpenPanel *open = [NSOpenPanel openPanel];
    [open setCanChooseFiles:NO];
    [open setAllowsMultipleSelection:NO];
    [open setCanChooseDirectories:YES];
    [open setCanCreateDirectories:YES];
    [open setTitle:@"Open Panel Title"];
    [open setPrompt:@"Select Button Title"];

回到OS X 10.2.x天,有一个私有方法,_setIncludeNewFolderButton,做了同样的事情,但它在Panther中删除了。不要尝试使用它 - 您的应用程序将崩溃。


0
投票

迅速:

    let picker = NSOpenPanel()
    picker.canCreateDirectories = true
    picker.runModal()
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.