如何让NSPopUpButton接受firstResponder状态?

时间:2013-03-21 14:30:22

标签: objective-c cocoa nstextfield first-responder nspopupbutton

我有NSPopUpButton甚至是NSPopUpButton的简单子类。 在子类中我有:

- (BOOL)acceptsFirstResponder { return YES; }

- (BOOL)refusesFirstResponder { return NO; }

现在很容易告诉窗口使按钮成为第一响应者,并且在启动时起作用,但是我需要将其作为nextResponder从NSTextField中跳出来。 一旦焦点在任何NSTextField上,它似乎永远无法移回弹出按钮。

我在这里缺少什么? 看起来应该很简单。

答案:firstResponder不是在这里使用的东西。需要一个子类(我怀疑)并且只需要覆盖以下内容以返回YES: - (BOOL)canBecomeKeyView { return YES; }(感谢Peter Hosey)

1 个答案:

答案 0 :(得分:4)

在您的NSPopUpButton子类中,尝试改为覆盖canBecomeKeyView