问题标签 [nsstatusbar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
947 浏览

swift - NSStatusBar + Swift:标题显示并立即消失

我想为 macOS 制作状态栏,但在我运行应用程序标题后显示并立即消失

我认为引用有问题,但不知道如何解决这个问题。

0 投票
2 回答
120 浏览

macos - 如何防止我的 macOS 菜单栏应用程序消失

我一直在为 macOS 创建一个菜单栏应用程序。

该应用程序由一个图标和一个标题组成。标题显示附加上下文并且可以是动态宽度。

我注意到,当菜单栏没有足够的空间来显示图标和上下文时,它会完全隐藏整个应用程序(图标和上下文),直到有空间再次显示它。

是否有可能以某种方式阻止它这样做?或者至少在没有标题的情况下保持图标的可见性,如果空间不允许?

0 投票
0 回答
181 浏览

cocoa - 在 NSStatusItem 中的 NSMenu 中使用时未启用自定义 NSMenuItem 视图

我想向 NSMenuItem 添加自定义视图,我将在 NSStatusItem 的菜单中显示该视图。
添加自定义视图 NSMenuItem 后,它不再可点击 - 它似乎已禁用。

使用下面的示例代码而不添加自定义视图会导致工作单元格 NSMenuItem 改为。

我错过了什么吗?

谢谢!

0 投票
1 回答
221 浏览

macos - Mac os 10.13.1 的全屏模型中未显示 NSStatusItem 的菜单

全部:

我在状态栏中为我的测试应用添加了一个 NSStatusItem,它在 Mac ox 10.12 中运行良好,不仅普通模型,而且全屏模型。当我切换到 Mac os 10.13 时,无法以全屏模式显示菜单。

有人知道吗? 弹出菜单,全屏模式下不显示

0 投票
2 回答
1318 浏览

swift - 如何在远离系统栏的地方打开 NSPopover?

我正在NSPopover使用状态栏中的图标操作打开一个。

除了从弹出框和系统栏的距离为零之外,这可以正常工作:

在此处输入图像描述

我想达到与 Dropbox 应用程序相同的结果,它在距离系统栏很近的地方呈现弹出框:

在此处输入图像描述

我试过使用button.bounds.offsetBy(dx: 0.0, dy: 20.0)which 不会影响弹出框的位置button.bounds.offsetBy(dx: 0.0, dy: -20.0)并将弹出框放在系统栏上方:

在此处输入图像描述

那么如何将其定位NSPopover在距系统栏一定距离的位置?

0 投票
0 回答
86 浏览

ios - 从 10.13 开始,NSStatusItem 在全屏模式下不起作用

非常简单的应用程序。当任何其他应用程序处于全屏模式时,我的应用程序系统托盘下拉菜单不会显示。其他应用程序(如系统时间的下拉菜单)正确显示。

没有应用全屏

在此处输入图像描述

全屏 Xcode 应用程序(单击图标但未显示下拉菜单)

在此处输入图像描述

这是我的代码->

0 投票
1 回答
670 浏览

swift - MacOS 在 StatusBar 上创建 ProgressBar

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

示例图像

或者

在此处输入图像描述

我能做的是:

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

0 投票
0 回答
376 浏览

swift - NSStatusItem 未显示在菜单栏中

我正在开发我的菜单栏应用程序并使 NSStatusBarButton 看起来像我想要的那样。然后我对代码进行了一些重组,在没有任何编译器错误/警告的情况下运行它后,该按钮不再出现在菜单栏中。

我已经检查了我的代码两次,但我找不到它改变行为的原因。现在奇怪的是,如果我继续将我的代码复制粘贴到一个新创建的可可应用程序项目中,它会再次正常工作。什么?我是否以某种方式弄乱了我的项目设置?但这不可能。我实际上只是将用于从 applicationDidFinishLaunching 方法中绘制按钮图像的代码放到一个单独的代码中,我称之为 initStatusBarImage() 并从 applicationDidFinishLaunching 中调用它。然后它突然不显示状态栏项,我撤消代码更改,运行它仍然无法正常工作。我错过了什么重要的东西吗?这是我遇到的问题的示例代码,如上所述。是的,图像在我的资产文件夹中,这不是问题

0 投票
0 回答
114 浏览

swift - NSStatusBar 失去状态

前段时间我写了一个应用程序,NSStatusBar用来在状态栏中放置一个菜单。这一直运作良好。我有 2 年或 3 年没有使用它(所以我猜在优胜美地它运作良好)。现在,当我在 High Sierra 中运行它时,它确实会丢失状态信息。那是一个已经被选中的菜单在下次打开菜单时不会出现。任何人都知道该地区是否发生了变化?

PS 我认为升级到 Swift 4.something 并针对 10.13 而不是 10.9 可以解决问题,但不是。今天我遇到了同样的问题。

PPS:进一步调试后,应用程序似乎没有永久运行(现在)。半小时左右后,它最终从头开始,因此以前在我的菜单中安全的上下文消失了。我只是准备将上下文保存在首选项中,但确认会有所帮助。

0 投票
2 回答
432 浏览

swift - Xcode NSStatusBar 项目未出现

我正在尝试向状态栏添加一个项目,但是当我启动应用程序时,该项目只出现在左上角一瞬间,然后很快消失。

我浏览了文档,我可以看到最近发生了一些变化,例如statusItem.title变成了statusItem.button?.title. 但似乎没有遗漏任何其他东西。有什么帮助吗?

这是我的代码: