【发布时间】:2011-09-08 19:15:48
【问题描述】:
有没有办法为用 Cocoa 编写的单个应用程序禁用亚像素抗锯齿,以编程方式或其他方式。我可以设置全局用户默认值来设置级别,甚至可以为外部显示器强制启用它,但我需要一个针对每个应用程序的解决方案,我也可以将其分发给其他人。
【问题讨论】:
标签: objective-c macos cocoa antialiasing subpixel
有没有办法为用 Cocoa 编写的单个应用程序禁用亚像素抗锯齿,以编程方式或其他方式。我可以设置全局用户默认值来设置级别,甚至可以为外部显示器强制启用它,但我需要一个针对每个应用程序的解决方案,我也可以将其分发给其他人。
【问题讨论】:
标签: objective-c macos cocoa antialiasing subpixel
NSUserDefaults works by domains,因此每个 NSUserDefault 都可以有一个系统范围的值、一个应用范围的值等等。如果您能够为此设置全局用户默认值,只需为您的应用设置相同的 NSUserDefaults。
您使用的 NSUserDefaults 键是什么以及如何设置它?
【讨论】:
-int 0。另外请注意,您不能为已经运行的应用程序设置默认值;它不会注意到更改,并且可能会在退出时破坏它。您必须退出它,然后设置默认值。
[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithInt:0] forKey:@"AppleFontSmoothing"];
NSUserDefaults' registerDefaults: 方法然后(而不是setValue:forKey:),它更适合不被用户本身覆盖但由应用程序强制的默认值