2

我正在寻找一种将 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 放在那里的方法。任何人都知道我该怎么做?

4

1 回答 1

3

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

NSProgressIndicator *indicator = [[NSProgressIndicator alloc] initWithFrame:button.frame];
[button addSubview:indicator];

最良好的祝愿和巨大的成功。

于 2018-05-20T16:57:11.077 回答