2008-12-25 15 views
23

¿Cómo agrego una insignia al ícono de Dock para mi aplicación usando Cocoa? ¿Hay alguna manera más o menos "estandarizada" de hacer esto?¿Cómo dibujo una insignia en el icono de mi Dock usando Cocoa?

(me refiero a la clase de insignias que aparecen en Mail, iChat, etc. para indicar el número de mensajes no leídos y similares.)

Cocoa Touch proporciona uno de tales métodos, pero no he No he podido encontrar ningún equivalente para una aplicación de Cacao normal.

Respuesta

19

Uso

[[[NSApplication sharedApplication] dockTile] setBadgeLabel:@"2234"]; 

Este método, y la clase NSDockTile, ha estado disponible desde Leopard.

17

Una búsqueda rápida en Google resultó en la clase NSDockTile. Parece bastante autoexplicativo una vez que eche un vistazo a la documentación.

25

Cabe señalar que NSDockTile solo está disponible en Leopard. Si necesita apuntar a Tiger, necesitará usar -setApplicationIconImage: en su objeto NSApplication y dibujar su insignia a mano.

Además, no aparece en la documentación fuera de las notas de la versión que pude encontrar, pero obtiene el mosaico de la aplicación enviando el mensaje dockTile a su objeto NSApplication.

NSDockTile *tile = [[NSApplication sharedApplication] dockTile]; 
[tile setBadgeLabel:@"Lots"]; 
+0

De manera realista, con 10.6 en los próximos 6 meses o menos, solo apoyar a Leopard probablemente esté bien. – wfarr

+1

En el suyo y en mi caso, tal vez sea así, pero Debajit al menos debería estar al tanto de las implicaciones de usar NSDockTile y las otras opciones disponibles. –

Cuestiones relacionadas