我想覆盖默认的系统控件色调,使我的应用始终为NSGraphiteControlTint
。以下代码似乎不起作用。有什么建议么?
NSButton *button = [window standardWindowButton:NSWindowCloseButton];
[[button cell] setControlTint:NSGraphiteControlTint];
问候,
埃里克
最佳答案
您设置AppleAquaColorVariant首选项:
[[NSUserDefaults standardUserDefaults] setInteger:NSGraphiteControlTint forKey:@"AppleAquaColorVariant"];
但是,如果希望它在应用程序首次启动时起作用,则必须在绘制任何UI之前,在
main
中调用NSApplicationMain
之前在NSApplication
中进行操作,或者可以使用-init
的自定义子类进行调用在[super init]
之前的方法中