我想在用戶單擊NSWindowController中的紅色關閉按鈕時停止模式。如何使用NSWindowController中的關閉按鈕停止模式?
在NSWindowController中,有「確定」和「取消」按鈕。
- (IBAction)okButtonClicked:(id)sender
{
[NSApp stopModalWithCode:NSOKButton];
[self.window close];
}
- (IBAction)cancelButtonClicked:(id)sender
{
[NSApp stopModalWithCode:NSCancelButton];
[self.window close];
}
而當我點擊紅色的關閉按鈕,窗口將關閉,模式不會停止。 我找到了windowWillClose:函數。
- (void)windowWillClose:(NSNotification *)notification
{
if ([NSApp modalWindow] == self.window)
[NSApp stopModal];
}
然而,
if ([NSApp runModalForWindow:myWindowController.window] != NSOKButton)
return;
即使我點擊確定按鈕,windowWillClose:函數被調用,runModalForWindow:函數總是返回NSCancelButton。
作爲模態的結果,我可以將成員變量添加到myWindowController中。
但我認爲會有另一種通用的方式來解決這個問題。
我想採取一個簡單的方法。
我想在用戶點擊NSWindowController中的紅色關閉按鈕時停止模式。 – Yun
你可以試試這個方法: - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender {AppDelegate – NewStack