objective-c xcode macos cocoa retina-display

objective c - Tamaño de los iconos de OS X



objective-c xcode (6)

El tamaño máximo para el icono de la aplicación debe ser de 1024 x 1024.

Y tiene que crear iconos de resolución regular y retina para 16 x 16, 32 x 32, 128 x 128, 256 x 256, 512 x 512 y 1024 x 1024.

Los detalles que puede encontrar en el documento "Directrices de alta resolución para OS X" de Apple.

¿Qué tamaño debe tener el icono de una aplicación y el icono de la barra de menú para OS X?

Puedo lidiar con pantallas de resolución pequeña, pero ¿qué pasa con Retina? ¿Un icono que se muestra en la barra de menú (por ejemplo, 20 x 20) será más pequeño o borroso en una nueva MacBook Pro con pantalla Retina? Considero que el ícono de la aplicación se escalará, así que si me preparo dos veces más grande que lo normal, debería estar bien en Retina.

Encontré una guía excelente para el desarrollo de iOS con especificación de tamaños, pero no puedo encontrar especificaciones de tamaño similares para OS X.


Los iconos de la barra de estado (es decir, los iconos de la barra de menú) son diferentes de los iconos de la aplicación normal. No he podido encontrar una guía de iconos oficial de NSStatusBar, pero tengo que creer que la guía de iconos de la barra de herramientas para botones está bastante cerca. Sugiere:

  • Crea iconos que midan no más de 19x19 píxeles.
  • Hacer el contorno nítido y claro.
  • Use una perspectiva directa.
  • Use negro (agregue transparencia solo si es necesario para sugerir dimensionalidad).
  • Utilice anti-aliasing.
  • Utiliza el formato PDF.
  • Asegúrese de que la imagen esté centrada visualmente en el control (tenga en cuenta que el enfoque visual podría no ser lo mismo que el centrado matemáticamente).

En las pruebas, he encontrado:

  1. NSStatusBar parece verse mejor con algo de 18 píxeles de alto o menos. El systemStatusBar tiene un grosor de 22 .
  2. Mientras que enumera el formato PDF, he estado usando png sin problema.
  3. Si desea que su icono sea blanco sobre azul cuando está seleccionado, debe proporcionar la imagen alternativa como una versión en blanco separada de su icono.

Ejemplo de código:

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


Para que su elemento de menú sea compatible con las pantallas Retina , el modo oscuro y diferentes estados (por ejemplo, presionado)

  1. Crea dos imágenes PNG de 16x16 y 32x32 o, si quieres menos margen, 18x18 y 36x36 píxeles
  2. Cree un nuevo recurso de imagen en Xcode con Render As configurado como Template Image y agregue sus imágenes para 1x y 2x
  3. Inicialice su NSImage desde el activo de imagen sin cambiar su tamaño: NSImage(named: "Example")

Sigue estos pasos y obtendrás una barra de estado perfectamente nítida Icono para retina

  1. Abra un archivo png de su icono en photoshop que debería ser más grande que 88px x 88px
  2. Ir al menú, Imagen, Tamaño de imagen.
  3. establecer resolución en 350
  4. establecer tamaño en 88px x 88px (píxeles)
  5. guardar imagen como png agregarlo xcode