以编程方式更改停靠标题
Posted
技术标签:
【中文标题】以编程方式更改停靠标题【英文标题】:change dock-title programmatically 【发布时间】:2010-02-22 17:20:25 【问题描述】:是否可以在运行时更改我的应用程序的标题,该标题显示在 Dock 中?
【问题讨论】:
感谢 Dave - 当我回答时,我将其读作“我的应用程序的 TILE ... 显示在块中”。 :-) 我已经继续并删除了我的答案,因为它完全无关紧要。对 Nobik 和 Diederick 的噪音感到抱歉 你的意思是当你在停靠图标上时显示的标签对吗?你能弄清楚这个吗?我也有同样的需求。我可以通过重命名 .app 然后在图标上切换“保持在 Dock 中”来做到这一点,但是“保持在 Dock 中”切换我无法弄清楚如何纯粹以编程方式进行。 【参考方案1】:您可以尝试更改停靠磁贴的徽章标签:
[[NSApp dockTile] setBadgeLabel:@"My custom text"]
【讨论】:
这不起作用,这会在停靠图标的顶部放置一个标签。这不会更改停靠图标悬停时显示的文本。【参考方案2】:不,这是不可能的。 Dock 使用进程的文件系统项的显示名称。对于捆绑的应用程序,这就是应用程序包。
该显示名称可以本地化,但对于任何给定的系统语言,这是应用程序包的静态属性。
【讨论】:
我注意到重命名应用程序包文件(最上面的一个,包含“内容”的文件)确实会更改标题,如果您切换“保持在 Dock”或退出然后重新启动应用程序,或者即使你做killall Dock
。这是预期的行为吗?然而,在运行killall Dock
之后,我注意到当您单击停靠图标时,窗口仍然会聚焦,但是如果您右键单击停靠图标,“退出”菜单项就会消失,所以它就像半脱臼但不完全,这很奇怪。
这是一张显示悬停标签的图像,有官方的方法来改变这个吗? i.imgur.com/CjytiTk.pnghttp://i.imgur.com/CjytiTk.png
我明白你在问什么,这就是我的回答:不,没有办法以编程方式更改该标题。
嘿,Ken 有什么非编程方式吗?就像info.plist
中的键/值对?没关系,在应用程序关闭之前它不会占用坞站,我明白这一点。但我只需要一种方法给它一个文本,因为我的 .app 被命名为一串数字,一个 id。然后我在桌面上创建名称为“Firefox - profile name here”的别名文件。谢谢肯,你对人很有耐心!
Dock 使用文件系统项(在本例中为应用程序包)的显示名称。影响它显示的标题的唯一方法是更改应用程序包的名称。至少,这是我能找到的唯一方法。以上是关于以编程方式更改停靠标题的主要内容,如果未能解决你的问题,请参考以下文章
UITabbarController 以编程方式更改栏项目标题