Я Cocoa новичок, так что вполне вероятно, что мой подход является неправильным, но ..Закрытия дочерних окон в Cocoa, когда главное окно закрывается
У меня есть приложение, которое открывает несколько дочерних окон (после того, как главные/родительское окно) с использованием NSWindowController
и initNibWIthName:
. Это прекрасно работает.
Но когда я закрываю родительское окно (используя красный x), они остаются открытыми и препятствуют закрытию приложения, пока они не будут закрыты. Это имеет смысл, поскольку я никого не закрываю.
Но как мне это сделать? Должно быть событие, которое вызывается в этот момент, но я не могу найти, что это нигде.
Уведомления, такие как applicationWillTerminate
(и т. Д.), Вызываются только тогда, когда приложение фактически завершается не при нажатии кнопки закрытия.
Я думаю, что я ищу что-то похожее на сообщения типа Windows WM_CLOSE
.
Что делает окно «дочерним» из другого окна? ... эта парадигма совсем не применима к MacOS. true, не все окна созданы равными, но мне еще нужно увидеть два окна и воспроизвести их, создавая детей любого типа ... худший сценарий: вы управляете списком windowControllers в делетете приложения. – kent
Ну, как я уже сказал, я новичок в разработке Mac, поэтому я не знаю «традиционные» термины, которые используются. Я открыл дополнительное окно (в окнах безмодельное диалоговое окно) из AppDelegate. Я пытаюсь закрыть его, когда нажата кнопка закрытия. Список оконКонтроллеры по-прежнему не учитывают важный шаг в том, что происходит при нажатии кнопки закрытия. – 2009-10-05 15:50:24
Просьба представить примеры кода, демонстрирующие, как вы создаете эти дочерние окна. Стандартный эквивалент какао диалогового окна без моделирования - это лист, который является диалоговым окном. –