Полностью закройте приложение OS X с кнопкой закрытия окна - PullRequest
19 голосов
/ 23 ноября 2011

Мне нужно полностью закрыть свое приложение, когда пользователь закрывает окно документа, используя приложения во время выполнения.

В настоящее время, когда они щелкают окно, приложение остается открытым и отображает его строку меню. Я прочитал эту статью для iOS и добавить запись в файл plist: http://developer.appcelerator.com/question/40081/ios4---make-app-not-run-in-background

Какой самый простой способ закрыть приложение, когда пользователь закрывает окно документа?

Ответы [ 3 ]

44 голосов
/ 23 ноября 2011

Это приложение для Mac? Если это так, попросите ваш NSApp делегатский агрегат applicationShouldTerminateAfterLastWindowClosed::

- (BOOL) applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)application
{
    return YES;
}

Используя Swift, это будет:

func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
     return true
}
6 голосов
/ 23 ноября 2011

Когда кнопка нажата:

[NSApp terminate:self];
1 голос
/ 25 февраля 2014

Добавьте файл NSWindowDelegate в YourWindowController.h, а затем добавьте следующий метод в файл YourWindowController.m:

-(void)windowWillClose:(NSNotification *)notification
{
    // You can use either of the following lines:
    [[NSApplication sharedApplication] terminate:nil];

    // OR
    exit(0);
}

Вам потребуется использовать NSWindowDelegate для всех ваших окон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...