相关疑难解决方法(0)

如何让NSSearchField在自动完成时发送动作?

这个问题似乎很简单,但我已经尝试了我能想到的一切,并用Google搜索了几个小时.

我有一个自动完成的NSSearchField,基本上复制了Apple的SearchField示例代码.我在IB中关闭了"发送整个搜索字符串",因为我不想在用户完成文本输入之前进行搜索,并且不想进行多次搜索(它们很昂贵).

当用户在字段中键入时,当他们按Enter键,指定他们接受当前的自动完成时,我希望触发NSSearchField的操作.相反,它似乎只是填写自动完成,然后用户必须再次按下输入才能触发操作.基本上,考虑开始在Safari中输入URL,它会自动填充,然后按Enter键开始加载页面(触发操作).他们不需要再次按回车键开始加载页面.

我尝试过的事情没有成功:

  • control:textView:commandSelector:,查找insertNewline:.当他们按Enter键完成自动完成时,它不会被触发
  • 覆盖controlTextDidEndEditing:与上述相同

有任何想法吗?谢谢!

cocoa autocomplete objective-c nstextfield nssearchfield

7
推荐指数
1
解决办法
2925
查看次数

Cocoa:停止字段编辑器自动完成空格键

我有一个带有几个NSTextField控件的自定义视图,我想为其提供自定义自动完成功能,并且我已成功实现了使用NSTextFieldDelegate协议的所有控件.自动完成是全名或地名,具体取决于正在编辑的文本字段.

问题是自动完成几乎总是包含空格字符,因此如果用户键入的内容与建议相符,但又不想接受该建议,则当用户按下空格键时,字段编辑器将接受该建议. .我希望字段编辑器仅使用Tab键接受建议.

我理解这将涉及子类化NSTextView以提供自定义字段编辑器,Apple将其记录为可接受的方式,但是我不清楚我需要覆盖哪些方法以及重写的方法需要做什么,以便得到我想要的东西.

谁能建议如何实现这一目标?

cocoa autocomplete subclass fieldeditor nstextview

4
推荐指数
1
解决办法
1122
查看次数