2

私は1日か2日、NSTextFieldのテキスト内に影を描画しようと試みてきました(そして、前景色を透明にするので、テキスト内の影だけが見えます)。私はまだ望ましい実用的な結果を達成していません。私がこれで得た唯一の成功は、テキストを に変換し、NSBezerPathそれを NSTextFieldCell のフレームから差し引き、setClipメソッドを使用してクリッピングすることでした(addClipこの場合は十分ではなく、背景をペイントしたままにします)。残念ながら、テキストを に変換すると、テキストNSBezerPathの端がぎざぎざになり、過度にまっすぐに見えます。これを達成できないため、CoreGraphicsマスクとクリッピングを使用してこれを達成する効率的でまともな方法はありますか?

私が探しているものと非常によく似た効果は、Xcode IDEにあります。デバッグセッションを開いていない場合、デバッガーナビゲーターに移動すると、サブクラス化された NSTextField で「No Debug Session」と表示され、その中に影。それはほとんど私が求めているものです。どこから始めて、どのようにこれを行うかについての洞察は素晴らしいでしょう。

私の現在のコードの貼り付けビン(機能しているが、最適ではなく、機能していない):http://pastebin.com/4pTv8ZWm

4

1 に答える 1

1

IBのNSTextFieldのシャドウプロパティをいじってみましたか?アルファ透明度を適切にブレンドして、テキストにわずかにオフセットされたシャドウ効果を使用すると、かなり近づくことができるはずです。

于 2013-02-12T22:20:30.153 に答える