我已经为我的应用程序创建了一个nsstatusitem,但是在使用control+f8(control+fn+f8)时,我希望它可以导航,就像系统项一样。
状态项在导航序列中被莫名其妙地跳过。是否有接受第一反应者的秘密握手或为此需要做的事情?
这基本上是我对这个项目的所有设置代码:
statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(28)
statusItem.menu = menu
statusItem.button?.image = NSImage(named: "menuIcon")
最佳答案
我在quora.com上发现了一个类似的问题:http://www.quora.com/Why-cant-I-focus-third-party-icons-in-the-status-menu-area-on-OS-X-with-a-keyboard-shortcut-like-Ctrl-F8-SOLVED。
引用科林·巴雷特的话:
第三方项使用与内置项(nsmenuextra)不同的API(nsstatusitem)实现。请注意,可以拖动以重新排列菜单附加项,但不能重新排列状态项(状态项始终显示在菜单附加项的左侧)。
不幸的是,nsmenuextra是私有API,使用Mac应用程序商店,您可能会看到越来越少的应用程序使用它。
正如支持此功能的第三方应用程序的示例一样,您可能可以按F8键进入菜单图标/图形。
因此,如果你真的想通过键盘让你的状态菜单项可用,你必须在苹果的私有框架内挖掘,然而这是一个不稳定的领域,因为它们随时都会发生变化,而不会有任何通知。
关于macos - NSStatusItem不能通过键盘导航,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29888032/