完成后,干净的方式让NSSearchField的第一响应者辞职?

时间:2011-12-11 15:58:37

标签: cocoa first-responder nssearchfield

在我的应用程序中,我有一个绑定到arraycontroller的NSSearchField,它以用户类型执行搜索。

问题是搜索字段一旦收到,就永远不会终止firstresponder-status。

当用户按下Enter或在搜索字段外点击时,最简洁的方式是退出第一响应者状态?如果可能的话,我宁愿在Interface Builder中做尽可能多的工作。

1 个答案:

答案 0 :(得分:10)

[searchField.window makeFirstResponder:nil]

如果您只是想摆脱对焦环,可以在NIB中禁用它。

如果您想在用户点击窗口中的空白区域时辞职第一响应者,则必须使用自定义NSView作为窗口的内容视图,并覆盖mouseDown:以调用上述方法。< / p>