1

NSBoxの背景をグラデーションに設定したい。Interface Builderでは、グラデーションであるの背景色を設定することができNSBoxます。selectedMenuColor

NSBoxメソッドしかないsetFillColorので、Interface Builderはどのようにグラデーションで埋めているのでしょうか?

NSBoxサブクラス化せずにプログラムで埋めるにはどうすればよいですか?サブクラス化するのは簡単NSBoxですが、Interface Builderの動作は、より良い解決策があるかもしれないことを示唆しています。

4

4 に答える 4

2

selectedMenuColor単色として表示されない「魔法の」色です。これらの「魔法の」色の多くがシステムに存在します。

私はcolorWithPatternImage:以前にこれを使用しました。ただし、パターンとして使用する画像はタイル化されるため、ボックスのサイズに合わせて画像のサイズを変更する必要があることに注意してください。

于 2008-11-12T14:23:38.213 に答える
0

おそらく最も近いのは、 で作成された NSColor を使用し、必要なcolorWithPatternImage:グラデーションを画像として作成し、それをロードすることです。醜いですが、動作するはずです。サブクラス化が最善の策だと思います。

于 2008-11-11T20:02:00.717 に答える
0

selectedMenuColor の色は、実際にはグラデーションのレンダリング済みイメージであり、その場で描画されるグラデーションではないため、任意のグラデーションを背景色として指定する方法はありません。ベンが言ったように、サブクラス化はおそらく進むべき道です。

于 2008-11-11T20:51:32.287 に答える