是否可以强制控制NSWindowController子类?

时间:2012-03-15 22:24:47

标签: macos cocoa nsobject nswindowcontroller

我正在创建一个cocoa应用程序,我正在加载一个带有NSWindowController的首选项窗口。

当用户选择prefs按钮并打开首选项窗口时

我希望应用程序在后台返回应用程序之前强制用户完成新打开的窗口控制器的操作。

无论如何阻止在后台发生的事情并迫使用户完成与前景的交互?

Thakns

2 个答案:

答案 0 :(得分:1)

也许这有效吗?创建HUD窗口的子类并实现

- (BOOL)resignFirstResponder {
    if (userMayLeave) return YES;
    return NO; 
}

答案 1 :(得分:0)

您可以使用以下方法来实现此目的,并将窗口显示为模式:

[[NSApplication sharedApplication] runModalForWindow:aWindow];

然后你需要在你的模态窗口中使用下列方法之一来解雇它:

[[NSApplication sharedApplication] stopModal];
[[NSApplication sharedApplication] abortModal];
[[NSApplication sharedApplication] stopModalWithCode:anInteger];