15

複数行の入力を許可するために NSTextView を使用しています。ただし、私のアプリの性質上、ユーザーは TAB を押すと次の入力要素に移動しやすくなります。

Enterキーの改行動作を維持しながら、TABでNSTextViewを終了するにはどうすればよいですか?

4

2 に答える 2

21

-textView:doCommandBySelector:テキスト ビューのデリゲートで実装できます。

- (BOOL)textView:(NSTextView *)aTextView doCommandBySelector:(SEL)aSelector {
    if (aSelector == @selector(insertTab:)) {
        [[aTextView window] selectNextKeyView:nil];
        return YES;
    }

    return NO;
}

http://developer.apple.com/documentation/Cocoa/Reference/NSTextViewDelegate_Protocolを参照してください。

于 2010-03-21T04:52:33.827 に答える
4

これをサブクラスに実装する必要があります。

そのようなTranslate Textのサブクラスを作成しました。BSD ライセンスの下で使用することを歓迎します。ヘッダー実装ファイルは次のとおりです。

… Enter キーの改行動作を維持しながら?

私の主な目的は、ユーザーが Enter キーを押したときにターゲットにアクションを送信することでした。また、ビューからフォーカスをドロップするようにしました。ただし、どちらもコード内の明示的なステートメントです。そのコードをコメントアウトするか削除するだけです。

于 2010-03-20T21:44:21.593 に答える