将NSWindow显示为工具栏表

时间:2012-08-22 14:15:57

标签: macos cocoa nswindow nsopenpanel cocoa-sheet

如何在工具栏中显示NSWindow,如下图中的NSOpenPanel

enter image description here

1 个答案:

答案 0 :(得分:5)

从NIB文件的窗口属性中取消选中启动时可见,然后使用beginSheet

[NSApp beginSheet:sheetWindow
           modalForWindow:mainWindow
           modalDelegate:self
           didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:)
           contextInfo:NULL];

此外,NSSavePanel提供beginSheetModalForWindow作为便捷方法:

[savePanel beginSheetModalForWindow:mainWindow completionHandler:^(NSInteger result) {
    if (result != NSFileHandlingPanelOKButton) return;
    // Do something
}];