2

在我的应用程序中,我有一个 NSSearchField,它绑定到一个数组控制器,它在用户类型时执行搜索。

问题是搜索字段一旦收到它就永远不会放弃firstresponder-status。

当用户Enter在搜索字段之外按下或点击时,最干净的退出第一响应者状态的方法是什么?如果可能的话,我更愿意在 Interface Builder 中做尽可能多的工作。

4

1 回答 1

10

[searchField.window makeFirstResponder:nil]

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

如果要在用户单击窗口中的空白区域时退出第一响应者,则必须使用自定义NSView作为窗口的内容视图并覆盖mouseDown:以调用上述方法。

于 2011-12-11T16:50:53.013 回答