3

我想实现一个标题随时间变化的 NSStatusItem。我的最终目标是在我设置的图像旁边的菜单栏中显示倒数计时器。也许我正在以错误的方式解决这个问题。但是我已经有一串字符随着时间的推移不断变化,代表计时器。我试图弄清楚如何将该字符串放在为我创建的菜单设置的图像旁边。

statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[statusItem setTitle:"29:30"];

我尝试了多次调用 setTitle 方法,但它们似乎不起作用。只有 setTitle 的初始调用在对象初始化之前起作用。之后什么也没有发生。我想我可以释放 NSStatusItem 对象并在每次我想要更改计时器时重新创建它,但这似乎非常低效。我什至不确定它是否会起作用。

我还考虑使用 setToolTip 方法来显示计时器倒计时。但这似乎与 setTitle 方法相同。一旦设置好,在释放 NSStatusItem 对象并创建一个新对象之前,您无法更改它。

任何建议,将不胜感激。

谢谢

戴夫

4

2 回答 2

2

我回答了我自己的问题。-setTitle 可以多次调用以动态更改倒数计时器的标题,不需要自定义视图。我的问题是我的计时器无法正常工作,并且我的菜单的长度不足以显示计时器的文本。我现在可以调用 setTitle 来刷新倒计时并每秒创建动态工具提示。我最初认为通过标准方法 setTitle 是不可能的。我错了。

statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[statusItem setTitle:"29:30"];

戴夫

于 2010-11-04T15:17:55.850 回答
0

为什么不使用它的 -setView:?您可以创建自己的自定义视图并根据需要对其进行更新。

于 2010-11-03T11:59:21.193 回答