问题标签 [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 投票
0 回答
292 浏览

nsstatusitem - 启动任务控制时,状态栏应用程序弹出窗口始终位于顶部 OSX

我正在为 OSX 开发一个状态栏应用程序,我正在尝试复制 Dropbox 使用的弹出框的行为,到目前为止,我已经设法让所有所需的行为正常工作,除了当我打开任务时control popover 不会消失,它只是停留在任务控制的顶部覆盖部分。最近几天我一直在努力搜索,但尚未提出解决方案。我唯一能想到的可能就是让听众聆听向上 3 根手指的滑动?获得像弹出框行为这样的 Dropbox 是一件非常痛苦的事情,所以我计划在完成所有工作后将示例应用程序上传到 GitHub,以帮助人们节省一些时间来寻找解决方法!有没有人遇到过这个问题?干杯!

这是带有弹出框“MenuBarController”#import“MenuBarController.h”逻辑的类

0 投票
0 回答
443 浏览

objective-c - OSX:从状态栏菜单启动窗口

我有一个作为代理运行的状态栏应用程序,没有停靠图标或主窗口。当您单击状态栏图标时,会出现一个弹出窗口(想想 Dropbox)并且它有一个按钮。此按钮需要为应用程序启动一个窗口。因此,本质上,当您启动计算机时,应用程序会安静地启动并位于您的状态栏中,并且在您从弹出窗口启动它之前不会打开任何用户界面。我无法通过我的弹出窗口的视图控制器从 main.storyboard 启动视图/视图控制器(这是它自己的单独笔尖)。

我遇到了一个答案,说要尝试以下方法:

但是,这不起作用,因为 instantiateControllerWithIdentifier 返回的是 viewController 而不是 windowViewController。关于如何解决这个问题的任何想法?关于状态栏应用程序的信息并不多。我熟悉 iOS 编程,但这是我第一次尝试 OSX 应用程序。

该应用程序目前非常小,因此如有必要,我可以提供更多源代码。

提前致谢!

0 投票
1 回答
95 浏览

objective-c - 如何从另一个视图访问 NSStatusBar?

我有状态栏图标,我正在尝试添加右键菜单。

NSStatusBar在其他视图中,如果用左键或右键按下,我可以得到。在右键单击事件中,我正在尝试添加NSMenu. 我想我可以像这样添加菜单:

但我不能,因为我没有 statusItem。我对此很陌生,所以也许这甚至不是正确的方法。

编辑:不知何故,我设法使菜单显示。我不确定这样做是否正确,但我所做的只是将 statusItem 分配给我的自定义视图,如下所示:

将此添加到自定义视图头文件中:

并显示这样的菜单:

0 投票
1 回答
294 浏览

macos - registerForDraggedTypes 与 NSStatusBarButton?

我正在尝试使用 NSStatusBarItem 实现文件拖放。

我真正拥有的是statusBarItem.button!.window?.registerForDraggedTypes([NSFilenamesPboardType]),但我不知道如何或在哪里实际覆盖诸如draggingEnteredand之类的方法performDragOperation

我知道可以使用自定义视图来完成,但如果可能的话,我想远离已弃用的方法。

0 投票
0 回答
60 浏览

cocoa - NSStatusBar 的垂直属性是什么?

我刚刚查看了 Apple 文档NSStatusBar,发现了这个奇怪的属性:

vertical 财产

一个布尔值,指示状态栏是否具有垂直方向。>(只读)

宣言

讨论

当此属性的值为 时YES,状态栏为垂直方向。该systemStatusBar方法返回的状态栏是水平的,并且具有NO此属性的值。

可用性

在 OS X v10.10 及更高版本中可用。

目前还不清楚这是否在任何地方使用,因为它显然没有真正用于[NSStatusBar systemStatusBar],据我所知,这是唯一的例子。

这个是来做什么的?

0 投票
3 回答
2406 浏览

macos - 右键单击 NSStatusBarButton 时调用 Action

我正在寻找一种方法来检测何时NSStatusBarButton右键单击(使用 Swift)并调用操作。

我目前是这样设置的:

我想过使用button.rightMouseDown(<#theEvent: NSEvent#>)(因为没有这样的“alternateAction”),但不幸的是,由于我刚刚开始编写 Mac 应用程序,我没有想出一些东西。

更新:

在寻找一种方法时,我看到一些线程告诉子类 a NSView,但我不知道这应该如何工作(这可能是因为我对编程真的很陌生,甚至不知道如何“子类”)。我仍然认为有一些更简单的方法可以使用它,因为statusBar我知道的几乎每个应用程序都可以右键单击。

0 投票
1 回答
1481 浏览

macos - NSClickGestureRecognizer 在 NSStatusItem 上不起作用

试图识别右键单击 aNSStatusItem我得到了一个建议(感谢Zoff Dino 使用 a 。但由于某些奇怪的原因,它没有按应有的方式工作。我能够识别左键单击 ( ) 但不能识别右键单击 ( )。这就是我希望它工作的方式,但事实并非如此: NSClickGestureRecognizerbuttonMask = 0x1buttonMask = 0x2

更新:

我仍然没有设法开始工作。不知何故,它不会对右键单击做出反应(但在左键单击时更改代码)会。我想一些非常简单的问题正在发生,似乎阻止它工作。更奇怪的是gesture.buttonMask = 0x1左键单击。

0 投票
1 回答
1450 浏览

ios - 由于某种原因,状态栏字体为粗体

我设备中的时钟、载体、电池部分正常,如第一张图片所示。当我打开我的应用程序时,在内存中加载应用程序后,它开始动画并使导航栏变得粗体和更大的字体。我什至不确定这是好事还是坏事,但我想知道这是怎么发生的。

如果它与这个问题有任何关系,这是我设置 rootVC 的方法:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
79 浏览

image - 如何让 Dropbox 暂停喜欢 NSStatusBarItem 的按钮

我知道如何为明暗模式制作图像只需NSStatusBarItem将图像设置为模板,)。此外,为了使按钮具有禁用外观,我们可以使用属性。image.template = trueappearsDisabled

然而,关于NSStatusBarItem. 我看到Dropbox蓝牙NSStatusBarButton在彼此之上同时具有非活动活动图像。您可以尝试暂停Dropbox,您会看到比 Dropbox 图像更清晰的暂停图像。此外,当蓝牙连接时,您会在蓝牙图像上方看到三点图像。

我试图为图像添加白色黑色,甚至是灰度。但结果却有所不同。我认为应该处理两张不同的图像。

我怎样才能在状态栏上有这种图像?

0 投票
1 回答
384 浏览

macos - 如何以编程方式打开状态栏应用程序?

我想在触发全局快捷方式时打开我的状态栏应用程序。

这是我设置 statusItem 的方式:

之后我使用 DDHotKey 来响应快捷方式。我可以确定是否触发了快捷方式,但我不知道如何打开菜单,因为它是状态栏单击。

我也尝试过使用 NSMenu popUpContextMenu。但在我看来,这不是正确的方法。菜单显示在一个新窗口中,这不是我正在寻找的行为。