2009-08-17 38 views
1

私はCocoaの簡単なコードエディタを開発中です。私はテキストビューを持っているので、ユーザーがリターンすると、新しい行は前の行と同じ字下げになります(Xcodeや他のコードエディタのように)。NSTextViewでの自動インデント

私の問題は、戻り値/入力キーが押されたときに傍受する方法や、テキスト表示で新しい行が作成されたときに、どのように傍受するのか分かりません。これを行う最も簡単な方法は何でしょうか?

答えて

4

NSTextViewでinsertNewline:をオーバーライドすることができます。デリゲートメソッドtextView:doCommandBySelector:を実装することもできます。デリゲートメソッドinsertNewline:セレクタを引数として呼び出し、ユーザがreturnを押すと呼び出されます。

+0

私は本当にこれを行う方法がわかりません。私はNSViewサブクラスを作成し、それをtextViewにリンクしました。しかし、それはコマンドをピックアップしません。 これが愚かな質問である場合、または明らかに何かを見落としている場合はお詫び申し上げます。私はOS Xでコーディングするのが初めてです。 –

+1

"textView"という用語を使用するのはかなり混乱しています。NSViewのサブクラスをリンクすることが何を意味するのか分かりません。 NSTextViewサブクラスをお持ちの場合は、オーバーライドする場所になります。 – Chuck

関連する問題