Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Cocoa Objective-C中创建模式对话框或窗口?_Objective C - Fatal编程技术网

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

在Cocoa Objective-C中创建模式对话框或窗口?,objective-c,Objective C,我需要创建一个模式对话框,该对话框将从nib文件加载,并应显示在主窗口中的按钮单击上 我可以在nib文件中创建自定义窗口,并在单击按钮时加载自定义对话框,但它不是模式对话框。我可以切换回主窗口 MyWindowController是NSWindowController子类。 我使用下面的代码显示我的窗口以响应按钮事件: MyWindowController *pController = [[MyWindowController alloc]

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

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

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

MyWindowController *pController = [[MyWindowController alloc] 
                                   initWithWindowNibName:@"nibfilename"];
[MyWindowController showWindow:self];

有几种方法可以做到这一点——实际上OSX中有两种不同的模态对话框:应用程序模态和窗口模态。用错了会让人恼火。一个是一张工作表,它附着到它影响的窗口(保存对话框就是一个例子)。另一个是应用程序模式,它阻止了整个应用程序(打开对话框就是这样工作的,因为它们不适用于任何存在的窗口)。苹果的应该有助于你的导向。

谢谢你

(示例)。 创建一个名为“About”的nib


帕布特温道??你能解释一下吗。
if(pAbtCtrl == nil)
        pAbtCtrl = [[AboutWindowController alloc] initWithWindowNibName:@"About"];

pAbtWindow = [pAbtCtrl window];

[NSApp runModalForWindow: pAbtWindow];

[NSApp endSheet: pAbtWindow];

[pAbtWindow orderOut: self];