我的 Mac OS X 应用程序有一个 NSStatusItem。
它工作正常,但是,我刚刚发现,如果顶部菜单/状态栏中的项目太多(例如,如果应用程序的菜单很长,图标太多等),我的状态项目会被隐藏由系统。
我怎样才能在我的应用程序中检测到这一点,以便我可以做些什么呢?
谢谢
我的 Mac OS X 应用程序有一个 NSStatusItem。
它工作正常,但是,我刚刚发现,如果顶部菜单/状态栏中的项目太多(例如,如果应用程序的菜单很长,图标太多等),我的状态项目会被隐藏由系统。
我怎样才能在我的应用程序中检测到这一点,以便我可以做些什么呢?
谢谢
在 2011 年 7 月 26 日版的 Mac OS X 人机界面指南的第 18 页(其中状态项被称为“菜单栏附加功能”),它指出:
注意:如果没有足够的空间来显示所有活动应用程序的菜单,Mac OS X 可以省略一些额外的菜单栏。如果仍然没有足够的空间来显示所有菜单,则可能会省略一些应用程序的菜单,从最右边的菜单开始。
所以要回答你的问题,“(我可以)做点什么吗?”,答案是:不。你必须将菜单栏额外视为它被调用的“额外”,额外的便利。如果你真的想使用这个 UI 元素,你可以通过提供一个不包含对用户控制你的应用程序至关重要的命令来实现。相反,您应该提供可以从应用程序的其他地方访问的那些。
这个问题几乎是这个的重复。链接中描述了一个非常不诚实的解决方案来解决您的问题,尽管它需要的工作比您预期的要多。