2012-01-06 11 views
4

Mac OS X用のCocoaのテキストに内側の影を描画するにはどうすればよいですか?Mac OS X用のCocoaでテキストの内側の影を描く方法

NSViewをサブクラス化して、グラデーションの背景と内側の影付きのテキストタイトルを含むプレースホルダコントロールを作成します。

stackoverflowでの現在のすべてのコアグラフィックスの回答は、Cocoa Touchでテキストの影を描くことを説明しているようです。

答えて

4

複雑すぎると思われるかもしれません。あなたの問題が正しい場合は、実際にやりたいのは、テキストスタイルを設定することだけです。次に、単にを使用してそうする:

[[object cell] setBackgroundStyle:NSBackgroundStyleRaised]; 

ここで、オブジェクトはクラスNSTextFieldのインスタンスです。

これはすべてを処理します。グラデーションの背景には、たとえばNSGradientでカスタムビューを使用して到達することができます。 here

利点:NSTextFieldをサブクラス化したり、NSTextFieldがNSViewのサブクラスで独自に実装するような他の不要な処理を行うことなく、NSTextFieldの適切なインスタンスを作成できます。

+0

ありがとうございます!それはまさに私が探していたものです。残念ながら私はNSViewをサブクラス化して同様の効果を得るためにdrawrectをオーバーライドしなければなりませんでした。確かにそれをリファクタリングすることを検討します。 –

関連する問題