这个问题似乎很简单,但我已经尝试了我能想到的一切,并用Google搜索了几个小时.
我有一个自动完成的NSSearchField,基本上复制了Apple的SearchField示例代码.我在IB中关闭了"发送整个搜索字符串",因为我不想在用户完成文本输入之前进行搜索,并且不想进行多次搜索(它们很昂贵).
当用户在字段中键入时,当他们按Enter键,指定他们接受当前的自动完成时,我希望触发NSSearchField的操作.相反,它似乎只是填写自动完成,然后用户必须再次按下输入才能触发操作.基本上,考虑开始在Safari中输入URL,它会自动填充,然后按Enter键开始加载页面(触发操作).他们不需要再次按回车键开始加载页面.
我尝试过的事情没有成功:
有任何想法吗?谢谢!
我有一个带有几个NSTextField控件的自定义视图,我想为其提供自定义自动完成功能,并且我已成功实现了使用NSTextFieldDelegate协议的所有控件.自动完成是全名或地名,具体取决于正在编辑的文本字段.
问题是自动完成几乎总是包含空格字符,因此如果用户键入的内容与建议相符,但又不想接受该建议,则当用户按下空格键时,字段编辑器将接受该建议. .我希望字段编辑器仅使用Tab键接受建议.
我理解这将涉及子类化NSTextView以提供自定义字段编辑器,Apple将其记录为可接受的方式,但是我不清楚我需要覆盖哪些方法以及重写的方法需要做什么,以便得到我想要的东西.
谁能建议如何实现这一目标?
autocomplete ×2
cocoa ×2
fieldeditor ×1
nstextfield ×1
nstextview ×1
objective-c ×1
subclass ×1