当用户在NSSearchField中按Enter键时调用函数?

时间:2011-02-06 01:59:06

标签: cocoa text return enter nssearchfield

我很惊讶我找不到这个简单任务的答案。我只是希望用户键入文本,按回车键,让应用程序知道他/她键入的内容。我该怎么做?

1 个答案:

答案 0 :(得分:16)

NSSearchField支持动作目标机制,因此只需将其挂钩到目标/动作即可。例如,假设您在应用程序委托中声明了以下操作:

- (IBAction)searchAnswer:(id)sender;

在Interface Builder中,按住Ctrl键将搜索字段拖动到应用程序委托对象,然后选择searchAnswer:操作。在其实现中,使用-stringValue获取用户键入搜索字段的文本,例如

- (IBAction)searchAnswer:(id)sender {
    NSLog(@"search answer: %@", [searchField stringValue]);
}

请注意,默认情况下,搜索字段也会在用户暂停/停止输入时发送操作。如果您希望仅在用户键入Enter时发送操作,请在搜索字段属性检查器窗口中选择Sends Whole Search String复选框。