我有一个 NSComboBox,它有一个符合 NSComboBox 数据源和委托(delegate)的单独类。

如果用户在组合框中键入的文本与弹出列表中的项目之一不匹配,我如何收到用户已输入内容的通知并读取用户已输入的值?

目前我正在使用委托(delegate)方法:-

-(void)comboBoxSelectionDidChange:(NSNotification *)notification
-(void)comboBoxWillDismiss:(NSNotification *)notification

然而,这些似乎只在用户从弹出窗口中选择了一个项目时才会收到通知,而不是在用户在停止编辑中键入其他内容时收到通知

最佳答案

由于 NSComboBoxNSTextField 的子类,因此是 NSControl ,您还可以使用 NSControlTextEditingDelegate methods ,例如 control:textShouldEndEditing: 来影响组合框的行为。

关于objective-c - NSComboBox : How to tell user has typed in information that is not in the pop up list and read it,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6235122/

10-10 17:59