Cocoa登录表阻止用户退出应用程序

Cocoa登录表阻止用户退出应用程序,cocoa,view,Cocoa,View,在我的OSX应用程序中,我使用一个工作表来允许用户登录。如果用户第一次启动应用程序,将显示工作表,用户必须输入其信息 现在,只要工作表处于打开状态,用户就无法退出应用程序(除非他强制退出) 由于登录是至关重要的,我不想提供一个取消按钮 只需相应地设置NSWindow的preventsApplicationTerminationWhenModal属性: - (void)windowDidLoad { [[self window] setPreventsApplicationTerminat

在我的OSX应用程序中,我使用一个工作表来允许用户登录。如果用户第一次启动应用程序,将显示工作表,用户必须输入其信息

现在,只要工作表处于打开状态,用户就无法退出应用程序(除非他强制退出)


由于登录是至关重要的,我不想提供一个取消按钮

只需相应地设置
NSWindow
preventsApplicationTerminationWhenModal
属性:

- (void)windowDidLoad {
    [[self window] setPreventsApplicationTerminationWhenModal:NO];
}

嗯,这似乎是我需要的财产。但是,我有一个名为“mainWindow”的窗口的出口,但是当我这样设置属性时,它仍然阻止用户退出应用程序:`[self.mainWindow SetPreventApplicationTerminationWhenModel:NO];`我错过了什么?你什么时候换房子?您应该从
-awakeFromNib
-windowDidLoad
或在
-loadView
的末尾执行此操作(取决于您的设置),因此
self.main窗口!=无
。此外,如果窗口已经可见(我不确定),则对该属性的更改可能会被忽略。问题是我在底层窗口上设置了属性,而不是在作为模式窗口的工作表窗口上设置了属性,因此当然需要这个属性。谢谢!