NSComboBox 中是否有用于项目选择的 IBAction?
我试图定义 2 个不同的操作 - 一个用于从下拉框中选择的项目,另一个用于输入新值的操作。那可能吗?
*我正在做一个mac应用程序,而不是iOS
NSComboBox 中是否有用于项目选择的 IBAction?
我试图定义 2 个不同的操作 - 一个用于从下拉框中选择的项目,另一个用于输入新值的操作。那可能吗?
*我正在做一个mac应用程序,而不是iOS
我相信您可以区分委托中的两个事件,但不能通过IBAction
. NSComboBoxDelegate
协议响应选择器- (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>