3

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

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

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

4

2 回答 2

4

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

于 2015-06-21T13:22:56.367 回答
2

所以我将此代码添加到我的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>
于 2015-06-23T07:51:04.017 回答