applicationDidChangeScreenParameters и [NSWindow orderOut:] - PullRequest
0 голосов
/ 18 июля 2011

В моем приложении необходимо, чтобы окно приложения закрывалось при изменении разрешения системы. Хотя реализовать - (void)applicationDidChangeScreenParameters:(NSNotification *)notification достаточно просто, я столкнулся с странной ошибкой.

Как ни странно, мое окно не может отвечать на вызовы orderOut:, когда срабатывает это уведомление. Это стреляет, потому что мой NSLog работает нормально, и я даже попытался сбросить [NSApp terminate:nil], что также отлично работает. Существуют и другие несвязанные методы, когда это упорядочивает окно, и они работают без проблем, что делает его странным.

Есть ли причина, по которой мое окно не может закрыться в этих обстоятельствах? Что может вызвать это?

1 Ответ

0 голосов
/ 18 июля 2011

Можете ли вы просто отложить закрытие до следующего запуска цикла обработки событий?Для этого используйте ‑performSelector:withObject:afterDelay: с задержкой, равной нулю.

...