如何在Mac上"修饰"应用程序?

Pum*_*eed 6 macos xcode cocoa objective-c

我想为我写的应用程序设置皮肤,但不知道从哪里开始.有没有像DirectShow(stardock.com),DotNetBar等... Mac可以做到这一点?(我知道这些例子是针对.NET的,只是使用了一个参考点.

如果没有,是否有一些信息来源会引导我朝着正确的方向前进?

举个例子......看看SongGenie

Reg*_*ent 13

就个人而言,我认为SongGenie是app skinning/theming的一个坏例子.
窗户的顶部光泽效果过于夸张,整体主题对比度过于刺眼,不适合眼睛.

以下是自定义OS X应用程序的一些简单的经验法则:

  1. 不要这样做(除非真的没有办法).
  2. 不要为了主题而使用主题UI!
  3. 如果你必须这样做,那就让它变得微妙!(不要强迫用户重新学习你的UI)
  4. 使您的主题与系统的整体风格相匹配.(哑光与光面等)
  5. 见1.)

特别是对于第4点来说,SongGenie是一种最糟糕的情况:应用程序的风格(除了完全过度)与相似的无光泽(对比Windows 7的光泽)外观OS OS X不一致.举一个正确风格的例子 - 符合主题采取Permute.app

因此,如果你真的,真的想(等等,如果你真的"必须")做主题,那么请看看BGHUDAppKit,了解如何做到这一点的技术起点.但请记住,该项目有一些非常糟糕的性能优化.(大规模方法调用冗余,几乎没有任何缓存或优化)

再说一遍:不要这样做.除非你既是一个优秀的开发者,也是一个更好的UI设计师.
作为一个开发者,后者的可能性很大.

作为BGHUDAppKit的替代方案,您可能希望查看BWToolKit(但很少)主题HUD控件.

UI设计是应用程序打印/编写的排版:

»良好的排版可能是一个好的仆人,总是在你的服务,但不明显,不起眼,但是幸福,沉默,顺利的先决条件.«
Jan Tschichold

原版的:

»Gute Typographie ist so,wie ein guter Diener gewesen sein mag:da und doch nicht bemerkbar; unauffällig,aber eine Voraussetzung des Wohlbefindens,lautlos,geschmeidig.«
Jan Tschichold

编辑:由于Xcode 4缺乏对IBPlugins的支持而且Apple显然不愿意将它们带回来(参见Joshua Nozzi的评论或Apple的NDA直接引发了ADC论坛),更有理由不对你的应用进行换肤.