Это потому, что ни одно NSWindow не содержит NSTextField. NSWindow устанавливает первого респондента, когда окно получает главное окно. NSStatusBar является глобальным. Он никогда не фокусируется, поэтому ваше текстовое поле будет сфокусировано только в самом начале.
Я не уверен, есть ли способ решить эту проблему хорошим способом. Вы можете попытаться установить первый респондент вручную. Вы также можете добавить монитор глобальных событий
Пример:
[NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent* incoming) {
[textfield setStringValue:[incoming characters]];
}];
Примечание. Это очень плохой способ решения этой проблемы. Сначала я бы попытался вручную установить NSTextField в качестве первого респондента, если это возможно.