swift - MacOS 在 StatusBar 上创建 ProgressBar

标签 swift macos progress-bar statusbar nsstatusbar

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

Sample Image

enter image description here

我能做的是:

    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/

相关文章:

windows-phone-7 - 我如何知道我的列表框已完全填充并显示在 WP7 的页面上

swift - 我如何在 UITabBar 中实现一个选项卡而不将此选项卡视为项目?

ios - 如何使用 Swift 在文本字段(从右到左)输入货币格式?

java - 在 NetBeans IDE 6.9.1 下编译 java 1.5 兼容的应用程序

macos - 如何从头开始为 Mac OSX 编写应用程序?

android - 如何在android中获取带有文本的水平进度条

javascript - 增加由progressbar.js创建的饼图的大小(宽度和高度)

ios - 在 tableView 中下载图像(_ :, cellForRowAt :)

json - SwiftyJSON : How can I add token?

.net - Mono真的跨平台吗?