NSComboBox - 项目选择的动作?
NSComboBox - item selected action?
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>
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>