我有一个 NSPopUpButton
,甚至还有一个 NSPopUpButton
的简单子(monad)类。
在子类中我有:
- (BOOL)acceptsFirstResponder { return YES; }
- (BOOL)refusesFirstResponder { 返回 NO; }
现在很容易告诉窗口使按钮成为第一响应者,并且可以在启动时工作,但我也需要从 NSTextField 中按 Tab 键将其作为 nextResponder 发生。 一旦焦点位于任何 NSTextField 上,它似乎永远无法移回弹出按钮。
我在这里缺少什么? 看起来应该很简单。
解答:firstResponder 不是这里使用的东西。需要一个子类(正如我怀疑的那样)并且只需要覆盖以下内容即可返回 YES:
- (BOOL)canBecomeKeyView { 返回 YES; }
(感谢彼得霍西)
最佳答案
在您的 NSPopUpButton 子类中,尝试重写 canBecomeKeyView
。
关于objective-c - 如何让 NSPopUpButton 接受firstResponder状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15550329/