アプリのデフォルトのシステム コントロールの色合いを常にオーバーライドしたいと考えていますNSGraphiteControlTint
。ただし、次のコードは機能しないようです。助言がありますか?
NSButton *button = [window standardWindowButton:NSWindowCloseButton];
[[button cell] setControlTint:NSGraphiteControlTint];
よろしく、 エリック
アプリのデフォルトのシステム コントロールの色合いを常にオーバーライドしたいと考えていますNSGraphiteControlTint
。ただし、次のコードは機能しないようです。助言がありますか?
NSButton *button = [window standardWindowButton:NSWindowCloseButton];
[[button cell] setControlTint:NSGraphiteControlTint];
よろしく、 エリック
AppleAquaColorVariant 設定を設定します。
[[NSUserDefaults standardUserDefaults] setInteger:NSGraphiteControlTint forKey:@"AppleAquaColorVariant"];
ただし、アプリの初回起動時に動作させたい場合は、UI が描画される前、 を呼び出す前に実行する必要がmain
ありますNSApplicationMain
。NSApplication
-init
[super init]
すべてのコントロールがコントロールの色合いを尊重するわけではありません。これは、ウィンドウ ボタンのようなアプリでめったに使用されないコントロールの可能性がさらに高くなります。
そのコードは正しいようです。それを確認するには、ラジオ ボタンやプッシュ ボタンなどで試してみてください。
閉じるボタンの灰色バージョンのように見える小さなボタンを取得するには、カスタム グラフィックのボタンまたはカスタム描画の独自のサブクラスを使用する必要があると思います。