gpt4 book ai didi

objective-c - Cmd + 点击移动状态项

转载 作者:太空狗 更新时间:2023-10-30 03:41:19 26 4
gpt4 key购买 nike

Apple 提供的内置电池、wi-fi、声音等状态项可以通过使用 cmd + 单击并拖动来拖动到菜单上的任意位置:

如何在我自己的状态项中支持类似的功能?

最佳答案

有两种方法可以获取菜单栏右侧的菜单。官方支持的方法是在您的应用中创建一个 NSStatusItem。其他方法是创建一个 NSMenuExtra。您已经注意到一个区别:NSStatusItem 菜单是固定的,而菜单附加项可以通过 cmd 拖动它们来移动。

另一个主要区别,也是 3rd-party 菜单附加项不受官方支持的原因,与状态项(作为单独的应用程序运行)不同,菜单附加项加载到 SystemUIServer 进程的地址空间中。这意味着如果他们失控并崩溃,他们可以关闭 UI。

您可以在 /System/Library/CoreServices/Menu Extras 中看到安装在系统上的 Menu Extras。仍然可以创建您自己的并让操作系统加载它们,但是如果您尝试发送结果,您将遇到问题。最好去 bugreport.apple.com 让他们知道 NSStatusItems 应该是可拖动的。

Wikipedia has more info on Menu Extras ,包括一些指向 tutorial on building your own 的链接.

关于objective-c - Cmd + 点击移动状态项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11319720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com