NSComboBox - 项目选择的动作?

NSComboBox - item selected action?

NSComboBox 中是否有用于项目选择的 IBAction?

我试图定义 2 个不同的操作 - 一个用于从下拉框中选择的项目,另一个用于输入新值的操作。 这可能吗?

*我正在做一个 mac 应用程序,而不是 iOS

我相信您可以区分委托中的两个事件,但不能通过 IBActionNSComboBoxDelegate 协议响应选择器 - (void)comboBoxSelectionDidChange:(NSNotification *)notification。您可以使用它来确定何时从下拉框中选择了一个项目,并使用文本编辑委托选择器 - (void)controlTextDidEndEditing:(NSNotification *)aNotification 来确定用户何时直接输入文本。

所以我将此代码添加到我的 viewController.m:

-(void)comboBoxSelectionDidChange:(NSNotification *)notification{
    NSLog(@"comboBoxSelectionDidChange");
}

- (void)controlTextDidEndEditing:(NSNotification *)aNotification{
     NSLog(@"controlTextDidEndEditing");
}

然后,将我的组合框“cmbbox”连接到 viewDidLoad 上的委托:

- (void)viewDidLoad {
      [super viewDidLoad];
      self.cmbbox.delegate = self;
}

最后,将 NSComboBoxDelegate 委托协议添加到 viewController.h 头文件:

@interface ViewController : NSViewController <NSComboBoxDelegate>