Какао: NSTextField и полноэкранный режим с enterFullScreenMode: - PullRequest
1 голос
/ 05 апреля 2011

В настоящее время я экспериментирую с параметром enterFullScreenMode: NSWindow, создающим подпредставление для содержимого окна. Просмотрите новый полноэкранный режим, который работает хорошо. Тем не менее, мой взгляд содержит NSTextField, который ведет себя странно. Когда я переключаюсь в полноэкранный режим, он становится неактивным (кажется, уходит в статус firstResponder). Я могу использовать его просто отлично, щелкнув по нему и позвонив

[myField becomeFirstResponder];

, что не рекомендуется документами. Они говорят, что я всегда должен звонить

[myWindow makeFirstResponder: myField];

, который больше не работает после перехода в полноэкранный режим. Однако самое странное, что при вводе чего-либо в поле и последующем выходе введенный текст исчезает. При быстром переключении в полноэкранный режим он может даже вернуться снова. Есть идеи, что я делаю не так? Или какие-либо отзывы о том, как заставить NSTextField отказаться от статуса firstResponder в полноэкранном режиме без использования нежелательных вызовов API?

Заранее спасибо, Nicolas

1 Ответ

1 голос
/ 31 мая 2011

Вы имеете в виду 10.6, верно?

[myWindow makeFirstResponder: myField];

enterFullScreenMode создаст новое окно для представления, поэтому myWindow фактически является окном перед входом в полноэкранный режим.

вам следуетиспользовать

[[self window] makeFirstResponder: myField];
...