在单击NSPopupButton时调用操作

时间:2012-03-09 08:36:29

标签: cocoa nspopupbutton

我有一个NSPopupButton,点击时会显示一个下拉菜单。此菜单由NSArray填充。现在,如果我点击下拉菜单中的一个项目,我可以选择它并确定选择的内容等。 我想要做的是当用户点击NSpopup按钮,更新下拉菜单然后让用户选择其中一个项目。 当我只选择下拉菜单(不点击其中任何一项)时,我无法找到如何调用IBAction方法。单击菜单中的项目会导致IBAction,但我只想单击NSPopupButton中的向下箭头来触发操作。有任何想法吗 ?感谢。

2 个答案:

答案 0 :(得分:5)

NSPopupButton点击后发送NSPopUpButtonWillPopUpNotification。让控制器对象监听该通知,并通过更新下拉菜单进行响应。

答案 1 :(得分:0)

可接受的答案起作用了,尽管现在它称为NSPopUpButton.willPopUpNotification

在Swift 4.x中,我的代码如下:

NotificationCenter.default.addObserver(self,
                 selector: #selector(dropdownMenuOpened),
                 name: NSPopUpButton.willPopUpNotification,
                 object: nil)