【问题标题】:How do I draw a badge on my Dock icon using Cocoa?如何使用 Cocoa 在我的 Dock 图标上绘制徽章?
【发布时间】:2010-09-28 09:54:33
【问题描述】:

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

(我指的是出现在 Mail、iChat 等中的徽章类型,用于指示未读消息的数量等。)

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

【问题讨论】:

标签: objective-c macos cocoa badge nsdocktile


【解决方案1】:

使用

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

此方法和 NSDockTile 类自 Leopard 以来一直可用。

【讨论】:

  • Swift 4 中也是一样的:NSApplication.shared.dockTile.badgeLabel = "123"
【解决方案2】:

需要注意的是,NSDockTile 仅在 Leopard 上可用。如果您需要以 Tiger 为目标,您需要在您的 NSApplication 对象上使用 -setApplicationIconImage: 并手动绘制您的徽章。

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

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

【讨论】:

  • 实际情况下,未来 6 个月或更短的时间内会出现 10.6,只支持 Leopard 可能就可以了。
  • 在你和我的情况下可能是这样,但 Debajit 至少应该意识到使用 NSDockTile 和其他可用选项的含义。
【解决方案3】:

快速的谷歌搜索出现了NSDockTile 类。仔细阅读文档后,似乎很容易解释。

【讨论】:

    猜你喜欢
    • 2021-08-23
    • 1970-01-01
    • 2020-01-18
    • 2020-10-11
    • 1970-01-01
    • 2016-12-23
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多