我有一个 NSComboBox,它有一个符合 NSComboBox 数据源和委托(delegate)的单独类。
如果用户在组合框中键入的文本与弹出列表中的项目之一不匹配,我如何收到用户已输入内容的通知并读取用户已输入的值?
目前我正在使用委托(delegate)方法:-
-(void)comboBoxSelectionDidChange:(NSNotification *)notification
-(void)comboBoxWillDismiss:(NSNotification *)notification
然而,这些似乎只在用户从弹出窗口中选择了一个项目时才会收到通知,而不是在用户在停止编辑中键入其他内容时收到通知
最佳答案
由于 NSComboBox
是 NSTextField
的子类,因此是 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/