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

Pla*_*mer 25 macos cocoa objective-c badge nsdocktile

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

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

Cocoa Touch确实提供了一种这样的方法,但我还没能找到常规Cocoa应用程序的任何等价物.

Ash*_*ark 25

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

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

NSDockTile *tile = [[NSApplication sharedApplication] dockTile];
[tile setBadgeLabel:@"Lots"];
Run Code Online (Sandbox Code Playgroud)


Tri*_*ert 24

使用

 [[[NSApplication sharedApplication] dockTile] setBadgeLabel:@"2234"];
Run Code Online (Sandbox Code Playgroud)

NSDockTile自Leopard以来,这种方法和类已经可用.

  • 这是** Swift 4 **中的同一件事:`NSApplication.shared.dockTile.badgeLabel =“ 123”` (2认同)

wfa*_*arr 17

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