如何使用Cocoa在Dock图标上绘制徽章?

时间:2008-12-25 13:15:12

标签: objective-c macos cocoa badge nsdocktile

如何使用Cocoa为我的应用添加徽章到Dock图标?有没有大致“标准化”的方式来做到这一点?

(我指的是在Mail,iChat等中显示的那种徽章,用于表示未读消息的数量等。)

Cocoa Touch确实提供了一种这样的方法,但我找不到常规Cocoa应用程序的任何等效方法。

3 个答案:

答案 0 :(得分:25)

应该注意,NSDockTile仅适用于Leopard。如果您需要定位Tiger,则需要在NSApplication对象上使用-setApplicationIconImage:并手动绘制徽章。

此外,它不在我发现的发行说明之外的文档中,但是通过将dockTile消息发送到NSApplication对象来获取应用程序的停靠区。

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

答案 1 :(得分:24)

使用

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

自Leopard以来,此方法和NSDockTile类已可用。

答案 2 :(得分:17)

快速谷歌搜索出现了NSDockTile课程。一旦你对文档有所了解,似乎很容易理解。