0

アプリのデフォルトのシステム コントロールの色合いを常にオーバーライドしたいと考えていますNSGraphiteControlTint。ただし、次のコードは機能しないようです。助言がありますか?

NSButton *button = [window standardWindowButton:NSWindowCloseButton];
[[button cell] setControlTint:NSGraphiteControlTint];

よろしく、 エリック

4

2 に答える 2

1

AppleAquaColorVariant 設定を設定します。

[[NSUserDefaults standardUserDefaults] setInteger:NSGraphiteControlTint forKey:@"AppleAquaColorVariant"];

ただし、アプリの初回起動時に動作させたい場合は、UI が描画される前、 を呼び出す前に実行する必要がmainありますNSApplicationMainNSApplication-init[super init]

于 2011-01-30T01:00:09.623 に答える
0

すべてのコントロールがコントロールの色合いを尊重するわけではありません。これは、ウィンドウ ボタンのようなアプリでめったに使用されないコントロールの可能性がさらに高くなります。

そのコードは正しいようです。それを確認するには、ラジオ ボタンやプッシュ ボタンなどで試してみてください。

閉じるボタンの灰色バージョンのように見える小さなボタンを取得するには、カスタム グラフィックのボタンまたはカスタム描画の独自のサブクラスを使用する必要があると思います。

于 2010-09-25T23:13:07.933 に答える