Какао: приложение закрывается, когда окно невидимо

Я делаю приложение Cocoa с двумя окнами. Я хочу скрыть оба этих окна, вызвать некоторые функции захвата экрана, а затем восстановить окна. я использую

[mainWindow orderOut:self];

чтобы скрыть окно, но когда я это сделаю, приложение закрывается. В моем AppDelegate у меня есть функция:

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

Я скрываю окно неправильно? Почему AppDelegate считает, что окно закрыто при использовании orderOut?

Мое приложение работает отлично, не используя вышеописанный метод в AppDelegate, я добавил его в качестве последнего шага для завершения приложения, когда я фактически закрываю все окна. Может ли кто-нибудь предложить, как сделать мои окна временно невидимыми, не закрывая приложение?

0

2 ответы

Я забыл ... вы можете установитьVisible: из окна? Если так, то это решит.

Единственное, что нужно было бы установить BOOL при программном закрытии окон ... iClosed Windows = YES. Затем установите NO в случае восстановления окон ... затем проверьте, что bool в методе делегата, и верните YES или NO соответственно.

1
добавлено
Я не нашел способ setVisible для окон. Я пытаюсь установить флаг, как вы предлагали, но не знаете, как получить доступ к BOOL/int из AppDelegate. В настоящее время ищут пример этого!
добавлено автор BeneGal, источник
Просто сделайте это переменной экземпляра в вашем .h файле. Затем в методах init или awakeFromNib или applicationDidFinishLaunching задайте начальное значение NO. Тогда это глобальная переменная, доступная любому методу в вашем .m файле.
добавлено автор regulus6633, источник

Удалить метод applicationShouldTerminateAfterLastWindowClosed . Приложение останется открытым. Это обычное поведение в OS X. Вы можете закрыть все окна Chrome или Safari, и они останутся открытыми. OS X закроет их, если есть необходимость, например, на iOS.

0
добавлено
macOS — русскоговорящее сообщество
macOS — русскоговорящее сообщество
693 участник(ов)

Обсуждаем всё, что связано с экосистемой macOS и продуктами Apple.

macOS Developers — русскоговорящее сообщество
macOS Developers — русскоговорящее сообщество
124 участник(ов)

По всем остальным macOS / Apple вопросам в @macOS_ru Обсуждаем всё, что связано с разработкой под macOS.