Taille des icônes OS X

Quelle taille devrait être une icône d'application et une icône de barre de menu 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 menu (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 vais préparer deux fois plus grand que normal, il devrait être OK sur Retina.

J'ai trouvé un excellent guide pour le développement iOS avec des spécifications de tailles mais je ne peux pas trouver des spécifications de taille similaires pour OS X.

22
demandé sur Jay 2012-10-03 22:51:39

6 réponses

Les icônes NSStatusBar (c.-À-D. Les icônes de la barre de Menu) sont différentes des icônes d'application régulières. Je n'ai pas été en mesure de trouver une directive d'icône officielle NSStatusBar, mais je dois croire que la directive D'icône de la barre d'outils pour les boutons est assez proche. Il suggère:

  • Créez des icônes qui ne mesurent pas plus de 19x19 pixels.
  • rendre le contour net et clair.
  • utilisez une perspective directe.
  • Utilisez le noir (ajoutez de la transparence uniquement si nécessaire pour suggérer la dimensionnalité).
  • Utilisez l'anti-aliasing.
  • Utilisez le format PDF.
  • assurez-vous que le l'image est visuellement centrée dans le contrôle (notez que visuellement centré peut ne pas être le même que mathématiquement centré).

Dans les tests, j'ai trouvé:

  1. NSStatusBar semble être le meilleur avec quelque chose de 18 pixels de haut, ou moins. Le systemStatusBar a une épaisseur de 22 .
  2. Bien qu'il répertorie le format PDF, j'utilise png sans problème.
  3. Si vous voulez que votre icône soit blanche sur bleue lorsqu'elle est sélectionnée, vous devez fournir alternateImage comme une version blanche distincte de votre icône.

Exemple 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];
37
répondu DenVog 2013-02-08 15:57:29

Suivez ces étapes et vous obtiendrez une icône de barre d'état parfaitement nette pour retina

  1. Ouvrez un fichier png de votre icône dans photoshop, il devrait être plus grand que 88px x 88px
  2. aller au menu, Image, Taille de l'Image
  3. définissez la résolution sur 350
  4. Définir la taille sur 88px x 88px (pixels)
  5. enregistrer l'image au format png ajouter xcode
4
répondu NSGodMode 2014-07-11 16:23:04

Pour faire de votre élément de menu support Rétine affiche, Mode noir et différents unis (par exemple, pressé)

  1. Créer deux images PNG de taille 16x16 et 32x32 ou, si vous voulez moins de marge, 18x18 et 36x36 pixels
  2. créez une nouvelle ressource d'image dans Xcode avec Render As défini sur Template Image et ajoutez vos images pour 1x et 2x
  3. initialisez votre NSImage à partir de la ressource image sans modifier sa taille: NSImage(named: "Example")
3
répondu John 2017-02-18 17:16:11

Ajout à la réponse de Michael apple exige maintenant tout le chemin jusqu'à 1024x1024px icônes en raison de la rétine affiche.

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

-2
répondu Johnnykrisma 2012-10-03 18:59:41

La taille maximale de l'icône de l'application doit être de 1024 x 1024.

Et vous devez créer à la fois des icônes de résolution régulière et rétine pour 16 x 16, 32 x 32, 128 x 128, 256 x 256, 512 x 512 et 1024 x 1024.

Les détails pour que vous pouvez trouver dans le "Haute Résolution lignes Directrices pour OS X" document d'Apple.

-3
répondu Michael Dautermann 2014-07-19 04:46:34