2011-07-07 6 views
1

これは比較的簡単なことです。NSTextViewのカーソルを変更する

私は(ほとんど)巨大なNSTextViewになるMacアプリケーションを書いています。私は、デフォルトのテキスト位置カーソルを一意の色/シェイプカーソルに上書きしたいと思います。私は多くのQuartzや一般的な描画体験を持っていませんが、それはもっと自分自身で見ることができます。

主に私が探しているのは、これを実装する最良の方法に関するアドバイスです。 drawRect関数をオーバーライドしてスーパーを呼び出し、次に独自の描画コードを実装することになりますか?

カーソルを描画する適切な場所はどのようにして見つけられますか?それはdrawRectの渡された矩形内に含まれていますか?

答えて

0

NSTextViewをサブクラス化していくつかのメソッドをオーバーライドする必要があります。明らかなのは、

-(void)drawInsertionPointInRect:(NSRect)aRect color:(NSColor *)aColor turnedOn:(BOOL)flag 

ですが、それだけではそれほど注意していないようです。すでにこれを実行しようとしている誰かのためにここに

-(void)_drawInsertionPointInRect:(NSRect)arg1 color:(NSColor *)color 

ルック: http://www.cocoadev.com/index.pl?CustomInsertionPoint

+0

スウィートどうやら、あなたはまた、プライベートメソッドをオーバーライドする必要があります。それを動作させるためにサブクラス化する必要がないことを望んでいました。先端に感謝します。より良い応答が出てくるかどうかを確認するために、これを今のところ開いたままにしておきます。私は明日の回答を選択します。答える時間をとってくれてありがとう! – gks

+1

あなたの回答は本質的にリンクなので、あなたの投稿を改善することを検討してください。参照:[他の場所のリンクに本当に「良い回答」が含まれている回答はありますか?](http://meta.stackexchange.com/q/8231/156620)と[リンクが悪い理由は何ですか](http://meta.stackexchange .com/q/7515/156620) –

+0

App Storeで不承認となるプライベートメソッドをオーバーライドしますか?もしそうなら、それは答えに考慮する必要があります。 – gks

関連する問題