MacOS 在 StatusBar 上创建 ProgressBar

MacOS create a ProgressBar on StatusBar

我正在寻找一种将 ProgressBar 作为按钮放到 Mac 状态栏上的方法。我想要这样的东西:

我能做的是:

    let statusItem = NSStatusBar.system.statusItem(withLength:NSStatusItem.variableLength)

    [...]

    if let button = statusItem.button {
                button.image = NSImage(named:NSImage.Name("JustSomeImage"))
                button.title = "Hello"
                button.action = #selector(togglePopover(_:))

            }

但是使用 NSStatusItem,我只能使用按钮和菜单对象来操作我的 NSStatusBar。所以我所能做的就是将带有一些文本的图像放到栏中。我已经搜索了很多解决方案并阅读了文档,但我找不到以某种方式将 ProgressBar 放在那里的方法。有人知道我该怎么做吗?

由于 NSButton 是 NSView 的子类,您可以添加任何您想要添加的视图。您可以在下面找到 Objective C 中的一小段代码,但将其转换为 Swift.

应该不难
NSProgressIndicator *indicator = [[NSProgressIndicator alloc] initWithFrame:button.frame];
[button addSubview:indicator];

祝您一切顺利。