Я подаю заявку, что пользователь должен будет взаимодействовать с одним окном и когда у них есть то окно, настроил способ, которым они хотят это, они переключаются на другое приложение затем, мое приложение начнет делать другой материал, который я определю в методе
скажите для примера программы, когда главное окно фокусируется, оно содержит маркировку, которая говорит, что "я фокусируюсь" и когда человек нажмет на рабочий стол или другое окно/приложение затем, маркировка будет читать, "я не фокусируюсь".
Спасибо
Это не то же самое, что ключевое окно. Ключевое окно означает, что вы будете получать события ввода для вашего приложения. Вы хотите знать, находится ли ваше приложение на переднем плане. Вам нужны уведомления NSApplication
NSApplicationDidBecomeActiveNotification
и NSApplicationDidResignActiveNotification
. Наблюдайте за ними, чтобы узнать, когда ваше приложение находится на переднем плане, а когда нет. applicationDidBecomeActive:
и applicationDidResignActive:
вашего делегата приложения будут автоматически вызываться при этих событиях.
[NSWindow isKeyWindow]
может быть тем, что вы ищете.
Указывает, является ли окно ключевым для приложения.
- (BOOL)isKeyWindow
Возвращаемое значение ДА, если окно является ключевым для приложения; иначе НЕТ.
Если вы хотите определить, когда ваше окно становится ключевым или когда оно перестает быть ключевым, ознакомьтесь с уведомлениями NSWindowDidBecomeKeyNotification
и NSWindowDidResignKeyNotification
.