Quelle taille doit avoir une icône d'application et une icône de barre de menus pour OS X?
Je peux gérer des écrans de petite résolution, mais qu'en est-il de Retina - une icône affichée dans la barre de menus (par exemple 20 x 20) sera-t-elle plus petite ou floue sur un nouveau MacBook Pro avec écran Retina? Je pense que l'icône de l'application sera mise à l'échelle, donc si je prépare deux fois plus grand que d'habitude, ça devrait aller sur Retina.
J'ai trouvé un excellent guide pour le développement iOS avec des spécifications de tailles mais je ne trouve pas de spécifications de taille similaires pour OS X.
Les icônes NSStatusBar (c'est-à-dire les icônes de la barre de menus) sont différentes des icônes d'application classiques. Je n'ai pas pu trouver de guide d'icône officiel NSStatusBar, mais je dois croire que le guide d'icône de la barre d'outils pour les boutons est assez proche. Ça suggère:
Lors des tests, j'ai trouvé:
Échantillon de code:
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];
Pour que votre élément de menu prenne en charge Retina s'affiche, Mode sombre et différent états (par exemple, pressé)
16x16
Et 32x32
Ou, si vous voulez moins de marge, 18x18
Et 36x36
PixelsRender As
Réglé sur Template Image
Et ajoutez vos images pour 1x
Et 2x
NSImage
à partir de l'élément d'image sans changer sa taille: NSImage(named: "Example")
Suivez ces étapes et vous obtiendrez une icône de barre d'état parfaitement nette pour la rétine