0

У меня есть NSPopUpButton и даже простой подкласс NSPopUpButton. В подклассе у меня есть:Как заставить NSPopUpButton принять статус firstResponder?

- (BOOL)acceptsFirstResponder { return YES; }

- (BOOL)refusesFirstResponder { return NO; }

Теперь это достаточно легко сказать, окно, чтобы сделать кнопку первым респондентом, и который работает на старте, но мне нужно, чтобы это также может произойти в nextResponder из tabbing из NSTextField. Как только фокус находится на любом NSTextField, он никогда не сможет вернуться к popupbutton.

Что мне здесь не хватает? Кажется, это должно быть очень просто.

ОТВЕТ: firstResponder - это не то, что нужно использовать здесь. Необходим подкласс (как я и предполагал) и просто необходимо переопределить следующие вернуть YES: - (BOOL)canBecomeKeyView { return YES; } (спасибо Питер Hosey)

+0

Можете ли вы дать нам список элементов управления в окне и что установлено для следующегоResponder для каждого из них? –

+0

Вы пытались установить предыдущий вид 'nextKeyView'? –

+0

Содержит только NSPopUpButton и NSTextField. Пробовал настройку nextKeyView как в коде, так и в IB от одного к другому, никакого эффекта. Похоже, что только содержащее окно может установить NSPopUpButton как firstResponder. Weird. – uchuugaka

ответ

4

В вашем NSPopUpButton подкласса, попробуйте перекрывая canBecomeKeyView вместо этого.

+0

Удивительный и работает. – uchuugaka

 Смежные вопросы

  • Нет связанных вопросов^_^