Cocoa登录表单防止用户退出应用程序。

5
在我的OSX应用程序中,我使用了一个窗口来允许用户登录。如果用户首次启动应用程序,则会显示该窗口并要求用户输入信息。
现在只要窗口保持打开状态,用户就无法退出应用程序(除非强制退出)。
由于登录是至关重要的,我不想提供取消按钮。
1个回答

10

只需相应地设置NSWindowpreventsApplicationTerminationWhenModal属性:

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

1
嗯,这似乎是我需要的属性。但是,我有一个名为“mainWindow”的窗口插座,但是当我像这样设置属性时,它仍然防止用户退出应用程序:[self.mainWindow setPreventsApplicationTerminationWhenModal:NO];我错过了什么? - Besi
1
你应该在 -awakeFromNib-windowDidLoad-loadView 结束时(根据你的设置)进行更改,以确保 self.mainWindow != nil。此外,如果窗口已经可见,对此属性的更改可能会被忽略(我不确定)。 - gcbrueckmann
3
现在它可以工作了。问题是我将属性设置在底层窗口上,而不是模态窗口上的表格窗口,因此当然需要这个属性。非常感谢! - Besi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接