在Cocoa Objective-C中创建模态对话框或窗口?

Pra*_*ar 16 objective-c

我需要创建一个模态对话框,该对话框是从nib文件加载的,应该在主窗口中单击按钮时显示.

我可以在nib文件中创建一个自定义窗口,并在按钮单击时加载自定义对话框,但它不是模态对话框.我可以切换回主窗口.

MyWindowControllerNSWindowController子类.我使用下面的代码显示我的窗口以响应按钮事件:

MyWindowController *pController = [[MyWindowController alloc] 
                                   initWithWindowNibName:@"nibfilename"];
[MyWindowController showWindow:self];
Run Code Online (Sandbox Code Playgroud)

Chu*_*uck 17

有几种方法可以做到这一点 - 实际上OS X中有两种不同的模态对话框:应用模式和窗口模态.使用错误的人会惹恼别人.一个是工作表,它附加到它影响的窗口(保存对话框就是一个例子).另一个是应用程序模式,它阻止整个应用程序(打开对话框以这种方式工作,因为它们不适用于任何存在的窗口).Apple的表单文档应该有助于您的导向.


Pra*_*ar 11

谢谢...

(例).创建一个名为"关于"的笔尖

if(pAbtCtrl == nil)
        pAbtCtrl = [[AboutWindowController alloc] initWithWindowNibName:@"About"];

pAbtWindow = [pAbtCtrl window];

[NSApp runModalForWindow: pAbtWindow];

[NSApp endSheet: pAbtWindow];

[pAbtWindow orderOut: self];
Run Code Online (Sandbox Code Playgroud)