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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过NSOpenPanel打开具有新文件夹功能的面板?相关的知识,希望对你有一定的参考价值。

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

答案

由于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中删除了。不要尝试使用它 - 您的应用程序将崩溃。

另一答案

迅速:

    let picker = NSOpenPanel()
    picker.canCreateDirectories = true
    picker.runModal()

以上是关于如何通过NSOpenPanel打开具有新文件夹功能的面板?的主要内容,如果未能解决你的问题,请参考以下文章

如何选择默认文件以在 NSOpenPanel 中打开?

记住用户选择的文件夹并在 Sandbox 下通过 NSOpenPanel 重新打开它

NSOpenPanel-Object C组件-打开对话框-选择文件/文件夹获得路径

NSOpenPanel文件URL格式

NSOpenPanel URL 到字符串

使用 Xcode 4.5.1 调试时 NSOpenPanel 崩溃