【问题标题】:NSStatusItem reordering along Status BarNSStatusItem 沿状态栏重新排序
【发布时间】:2015-05-17 15:03:08
【问题描述】:

我正在尝试为我的 Mac OS X 状态栏应用程序添加一项功能。我希望能够沿状态栏移动我的项目,就像您可以为蓝牙或 WiFi 图标等本地操作系统工具所做的那样.

干杯

【问题讨论】:

    标签: objective-c macos nsstatusitem nsstatusbar


    【解决方案1】:

    ma​​cOS Sierra 更新:Apple 改进了 NSStatusItem。现在可以通过 ⌘ 拖动重新排序项目。这适用于所有 Apple 的菜单项和所有第三方应用程序。

    您可能想要使用NSMenuExtra 的几乎所有原因现在都已被删除,这很棒。所以,现在的答案就是使用NSStatusItem。无需进一步操作。

    【讨论】:

    • 根据我的经验,NSStatusItem 仍然不支持重新排序/拖动。
    【解决方案2】:

    您要查找的是NSMenuExtra 而不是NSMenuItem

    Apple 使用NSMenuExtra 表示系统菜单图标,包括 Wi-Fi 和蓝牙。虽然它看起来与普通的NSMenuItem 相似,但NSMenuExtra 有一些特殊功能,特别是在重新启动后保持它们的相对顺序,以及用户可以命令拖动。

    不幸的是,NSMenuExtra 完全没有文档记录,因此如果您的目标是 Mac App Store,最好还是坚持使用标准的NSMenuItem。否则,有很多关于如何创建NSMenuExtra 的教程。例如,这里有两个:

    【讨论】:

      【解决方案3】:

      不幸的是,没有“好”的方法可以做到这一点,但是您可以检查这个问题以了解可以做到这一点的黑客:

      How to drag NSStatusItems

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-24
        • 2018-10-20
        相关资源
        最近更新 更多