我正在寻找一种将 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。所以我所能做的就是将图像和一些文本放在栏中。我已经搜索了很多解决方案并阅读了文档,但我找不到一种方法以某种方式将进度栏放在那里。有人知道我该怎么做吗?
最佳答案
由于 NSButton 是 NSView 的子类,因此您可以添加任何您想要添加的 View 。下面您可以在 Objective C 中找到一小段代码,但将其转换为 Swift 应该不难。
NSProgressIndicator *indicator = [[NSProgressIndicator alloc] initWithFrame:button.frame];
[button addSubview:indicator];
最美好的祝愿和巨大的成功。
关于swift - MacOS 在 StatusBar 上创建 ProgressBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50436212/