【问题标题】:Cocoa combobox autocompletion actionCocoa 组合框自动完成动作
【发布时间】:2014-08-07 20:08:19
【问题描述】:
我有一个NSComboBox,里面有很多东西。因此我激活了自动完成功能,以便用户可以“搜索”他需要的项目。
此外,我还有一个按钮,用户必须在选择项目后单击该按钮。该按钮被禁用,只有在选择了组合框的项目时才应启用。
点击选择很容易,我只需要IBAction。
但是我怎么知道组合框何时完成输入的文本?
我想在自动完成找到项目后立即启用该按钮。
【问题讨论】:
标签:
objective-c
cocoa
swift
nscombobox
【解决方案1】:
好的,我自己找到了解决办法。
起初我试图查看 controlTextDidChange 方法,如果indexOfSelectedItem >= 0。这可行,但并不完美。
这很好用:
override func controlTextDidChange(obj: NSNotification!) {
if obj.object as NSObject == myComboBox {
myButton.enabled = myComboBox.indexOfItemWithObjectValue(myComboBox.stringValue) != NSNotFound
}
}