3

我有带有外部数据源的 NSComboBox 并且我正在使用方法:

(NSString *)comboBox:(NSComboBox *)aComboBox completedString:(NSString *)string

用建议完成字符串,一切正常,除非我按退格键,它不会自动完成。我试过调试,它甚至没有在退格键上调用这个方法。我也试过直接从方法调用它:

-(void)controlTextDidChange:(NSNotification *)notification

但它不会以这种方式选择完整的字符串。我的问题是我做错了什么?有没有更好的方法来处理删除,或者我应该尝试以编程方式选择完整的文本?

4

1 回答 1

1

用于controlTextDidChange检测何时按下退格键,然后使用completeon手动触发完成NSTextView

-(void)controlTextDidChange:(NSNotification *)notification {
    if (... /* backspace pressed */) {
        NSTextField *textField = [[notification userInfo] objectForKey:@"NSFieldEditor"];
        [textField complete:self];
    }
}
于 2015-11-10T15:04:48.453 回答