在使用自动完成时键入return时调用NSTextField的操作但未选择任何项

时间:2014-09-05 15:33:32

标签: objective-c cocoa

我有一个使用自动完成的NSTextField。它运行良好,但是我想在输入return时立即触发文本字段的动作方法,既选择自动完成项目,又选择自动完成列表中没有选择任何项目(我当前需要输入返回两次:选择/关闭自动完成,然后触发操作)。第一个案例得到回答here,但我找不到任何委托或子类方法来实现第二种情况。

由于

2 个答案:

答案 0 :(得分:0)

这是在单词完成后调用的委托方法...

textView:completions:forPartialWordRange:indexOfSelectedItem:协议

中的

NSTextViewDelegate方法

答案 1 :(得分:0)

我找到的唯一解决方案是使用method_exchangeImplementations覆盖私有类NSTextViewCompletionController,特别是- (void)endDisplayAndComplete:(BOOL)complete方法,然后检查[[(NSTextView *)[self currentTextView] window] currentEvent]以捕获关键事件返回并输入密钥。