OS X icons size

泪湿孤枕 提交于 2019-12-02 15:13:44

NSStatusBar icons (i.e. Menu bar icons) are different from regular app icons. I have not been able to find an NSStatusBar official icon guideline, but I have to believe that the Toolbar Icon guideline for buttons is pretty close. It suggests:

  • Create icons that measure no more than 19x19 pixels.
  • Make the outline sharp and clear.
  • Use a straight-on perspective.
  • Use black (add transparency only as necessary to suggest dimensionality).
  • Use anti-aliasing.
  • Use the PDF format.
  • Make sure the image is visually centered in the control (note that visually centered might not be the same as mathematically centered).

In testing, I've found:

  1. NSStatusBar seems to look best with something 18 pixels high, or less. The systemStatusBar has a thickness of 22.
  2. While it lists PDF format, I've been using png without issue.
  3. If you want your icon to be white on blue when it's selected, you need to provide the alternateImage as a separate white version of your icon.

Code sample:

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];

To make your menu item support Retina displays, Dark Mode and different states (e.g. pressed)

  1. Create two PNG images sized 16x16 and 32x32 or, if you want less margin, 18x18 and 36x36 pixels
  2. Create a new image asset in Xcode with Render As set to Template Image and add your images for 1x and 2x
  3. Initialize your NSImage from the image asset without changing its size: NSImage(named: "Example")

Follow these steps and you will get a perfectly sharp status bar Icon for retina

  1. Open a png file of your Icon in photoshop it should be larger than 88px x 88px
  2. go to menu, Image, Image size
  3. set resolution to 350
  4. set size to 88px x 88px (pixels)
  5. save image as png add it xcode

adding on to Michael's answer apple are now requiring all the way up to 1024x1024px icons due to retina displays.

http://www.cultofmac.com/179738/apple-now-requires-high-res-1024x1024-icons-for-every-mac-os-x-app/

The maximum size for the app icon should be 1024 x 1024.

And you have to create both regular and retina resolution icons for 16 x 16, 32 x 32, 128 x 128, 256 x 256, 512 x 512 & 1024 x 1024.

The details for which you can find in the "High Resolution Guidelines for OS X" document from Apple.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!