OS X图标大小

mas*_*eth 26 macos xcode cocoa objective-c retina-display

OS X的应用程序图标和菜单栏图标应该是多大?

我可以处理小分辨率显示器但是Retina怎么样?菜单栏上显示的图标(例如20 x 20)在带有Retina显示屏的新MacBook Pro上会变小还是模糊?我估计应用程序图标将被缩放,所以如果我准备比常规大两倍,那么Retina应该没问题.

我找到了一个优秀的iOS开发指南,有尺寸规格,但我找不到OS X的类似尺寸规格.

Den*_*Vog 39

NSStatusBar图标(即菜单栏图标)与常规应用程序图标不同.我无法找到NSStatusBar官方图标指南,但我必须相信按钮的工具栏图标指南非常接近.它表明:

  • 创建尺寸不超过19x19像素的图标.
  • 使轮廓清晰锐利.
  • 使用直观的视角.
  • 使用黑色(仅在必要时添加透明度以表示维度).
  • 使用抗锯齿.
  • 使用PDF格式.
  • 确保图像在控件中以视觉为中心(请注意,视觉居中可能与数学居中不同).

在测试中,我发现:

  1. 对于18像素高或更低的东西,NSStatusBar似乎看起来最好.所述systemStatusBar的厚度为22.
  2. 虽然它列出了PDF格式,但我一直在使用png而没有问题.
  3. 如果您希望图标在选中时为蓝色白色,则需要将alternateImage作为图标的单独白色版本提供.

代码示例:

myStatusItem = [[NSStatusBar systemStatusBar]statusItemWithLength:NSSquareStatusItemLength];
NSImage *statusImage = [NSImage imageNamed:@"Status.png"];
[myStatusItem setImage:statusImage];
NSImage *altStatusImage = [NSImage imageNamed:@"StatusHighlighted"];
[myStatusItem setAlternateImage:altStatusImage];
[myStatusItem setHighlightMode:YES];
[myStatusItem setMenu:self.myStatusMenu];
Run Code Online (Sandbox Code Playgroud)


Joh*_*ohn 5

为了使您的菜单项支持视网膜显示,暗模式和不同状态(例如,按下)

  1. 创建两个PNG图像,大小16x16和/ 32x32或(如果您希望减少边距),18x18以及36x36像素
  2. 与在Xcode中创建一个新的图像资源Render As设置为Template Image,并添加您的图片1x2x
  3. NSImage从图像资产初始化您的图像,而不改变其大小:NSImage(named: "Example")