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];
祝您一切顺利。
我正在寻找一种将 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];
祝您一切顺利。