Программно закрывая NSWindow, когда это теряет фокус

Я делаю средство выбора изображения, которое отобразит сетку выбираемой кнопки n на n, когда средство выбора будет открыто. Эта сетка кнопок будет содержаться в NSWindow, но я хотел бы за окно быть близким автоматически, если пользователь нажимает от экрана. Существует ли флаг, который может быть установлен так, чтобы, когда окно освобождает фокус, это было закрыто автоматически?

6
задан Peter Hosey 23 December 2009 в 08:15
поделиться

2 ответа

Есть два уведомления, которые могут вас заинтересовать: NSWindowDidResignKeyNotification and NSWindowDidResignMainNotification. Вы можете просто зарегистрироваться в awakeFromNib (или windowDidLoad, если у вас есть пользовательский контроллер), а затем закрыть или скрыть окно, когда вы получите уведомления.

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

.
8
ответ дан 9 December 2019 в 22:35
поделиться

Вы можете проверить NSPanel. Это подкласс NSWindow, который скрывает себя, когда приложение находится в фоновом режиме, и такое поведение звучит очень похоже на то, что вы ищете.

.
3
ответ дан 9 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: