У меня есть NSPopUpButton
и даже простой подкласс NSPopUpButton
. В подклассе у меня есть:Как заставить NSPopUpButton принять статус firstResponder?
- (BOOL)acceptsFirstResponder { return YES; }
- (BOOL)refusesFirstResponder { return NO; }
Теперь это достаточно легко сказать, окно, чтобы сделать кнопку первым респондентом, и который работает на старте, но мне нужно, чтобы это также может произойти в nextResponder из tabbing из NSTextField. Как только фокус находится на любом NSTextField, он никогда не сможет вернуться к popupbutton.
Что мне здесь не хватает? Кажется, это должно быть очень просто.
ОТВЕТ: firstResponder - это не то, что нужно использовать здесь. Необходим подкласс (как я и предполагал) и просто необходимо переопределить следующие вернуть YES: - (BOOL)canBecomeKeyView { return YES; }
(спасибо Питер Hosey)
Можете ли вы дать нам список элементов управления в окне и что установлено для следующегоResponder для каждого из них? –
Вы пытались установить предыдущий вид 'nextKeyView'? –
Содержит только NSPopUpButton и NSTextField. Пробовал настройку nextKeyView как в коде, так и в IB от одного к другому, никакого эффекта. Похоже, что только содержащее окно может установить NSPopUpButton как firstResponder. Weird. – uchuugaka