Mac OS X全球色彩像iOS一样

时间:2015-11-18 12:46:13

标签: swift macos cocoa nstabview

是否有任何可能的方法在OS X中设置全局色调颜色。如果我想在Cocoa控件上设置品牌颜色,如NSTabView。云我是怎么做到的?

3 个答案:

答案 0 :(得分:0)

如果您需要在应用中进行更改

  

类NSAppearance:NSObject,NSCoding描述NSAppearance   object表示指定标准外观的文件   适用于应用中的UI元素子集。应用可以包含   多个外观文件,因为NSAppearance符合   NSCoding - 您可以使用Interface Builder将UI元素分配给   外观

答案 1 :(得分:0)

我们需要为希望在Windows和Mac OS X版本之间具有非常相似外观的应用程序执行此操作(不要评判我 - 这是客户想要的)。我们最终做的事情或多或少:

  1. 创建一个品牌认可颜色的NSDictionary,使用颜色索引(*文本颜色,背景颜色,按钮颜色等)。
  2. 在InterfaceBuilder检查器中添加“用户定义的运行时属性”,告诉每个视图使用哪种颜色。
  3. 在NSView(以及一些其他Appkit视图)上编写一个类别,该类别实现该属性的setter,然后调用 -setBackgroundColor:或更改默认颜色所需的任何其他AppKit API。
  4. 由于 -setBackgroundColor:仅适用于具有核心动画层的视图,因此我们最终将代码添加到NSView属性设置器中以调用 -setWantsLayer:YES 每个需要非默认背景颜色的视图。

答案 2 :(得分:0)

另一种方法是创建一个"外观文件",您可以加载该文件以覆盖AppKit控件的视觉外观。这不是一个记录良好的过程,但请参阅此相关的StackOverflow问题/答案以获取详细信息。 How can I make an "appearance file" for NSAppearance?