我有NSComboBox
很多物品。因此,我激活了自动完成功能,以便用户可以“搜索”他需要的项目。
此外,我还有一个按钮,用户必须在选择项目后单击该按钮。此按钮被禁用,只有在选择了组合框的项目时才应启用。
通过点击获得选择很容易,我只需要IBAction
.
但是我怎么知道组合框何时完成输入的文本?
我想在自动完成找到一个项目后立即启用该按钮。
我有NSComboBox
很多物品。因此,我激活了自动完成功能,以便用户可以“搜索”他需要的项目。
此外,我还有一个按钮,用户必须在选择项目后单击该按钮。此按钮被禁用,只有在选择了组合框的项目时才应启用。
通过点击获得选择很容易,我只需要IBAction
.
但是我怎么知道组合框何时完成输入的文本?
我想在自动完成找到一个项目后立即启用该按钮。
好的,我自己找到了解决方案。
起初我尝试查看 controlTextDidChange 方法,如果indexOfSelectedItem >= 0
. 这有效,但并不完美。
这工作正常:
override func controlTextDidChange(obj: NSNotification!) {
if obj.object as NSObject == myComboBox {
myButton.enabled = myComboBox.indexOfItemWithObjectValue(myComboBox.stringValue) != NSNotFound
}
}