2008-12-25 5 views
23

Comment ajouter un badge à l'icône Dock de mon application avec Cocoa? Existe-t-il une façon à peu près «standardisée» de faire cela?Comment puis-je dessiner un badge sur mon icône Dock à l'aide de Cocoa?

(je fais référence au genre de badges qui apparaissent dans Mail, iChat, etc. pour indiquer le nombre de messages non lus et autres.)

Cocoa Touch fournit une telle méthode, mais je havre de paix n'a pas été capable de trouver un équivalent pour une application Cocoa régulière.

Répondre

19

Utilisez

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

Cette méthode, et la classe NSDockTile, est disponible depuis Leopard.

17

Une recherche rapide sur google a fait apparaître la classe NSDockTile. Semble assez explicite une fois que vous jetez un coup d'oeil à la documentation.

25

Il est à noter que NSDockTile n'est disponible que sur Leopard. Si vous devez cibler Tiger, vous devez utiliser -setApplicationIconImage: sur votre objet NSApplication et dessiner votre badge à la main.

En outre, ce n'est pas dans la documentation en dehors des notes de mise à jour que j'ai pu trouver mais vous obtenez la mosaïque de votre application en envoyant le message dockTile à votre objet NSApplication.

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

De manière réaliste, avec 10,6 sort dans les 6 prochains mois ou moins, seul le support de Leopard est probablement très bien. – wfarr

+1

Dans le vôtre et dans mon cas, peut-être, mais Debajit devrait au moins être conscient des implications de l'utilisation de NSDockTile et des autres options disponibles. –

Questions connexes