5

この単純なタスクに対する答えが見つからないことに驚いています。ユーザーにテキストを入力してEnterキーを押してもらい、アプリケーションに入力内容を知らせてもらいたいだけです。どうすればいいですか?

4

1 に答える 1

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、検索フィールド属性インスペクターウィンドウのチェックボックスを選択します。

于 2011-02-06T02:22:00.787 に答える