问题标签 [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.
nsstatusitem - 启动任务控制时,状态栏应用程序弹出窗口始终位于顶部 OSX
我正在为 OSX 开发一个状态栏应用程序,我正在尝试复制 Dropbox 使用的弹出框的行为,到目前为止,我已经设法让所有所需的行为正常工作,除了当我打开任务时control popover 不会消失,它只是停留在任务控制的顶部覆盖部分。最近几天我一直在努力搜索,但尚未提出解决方案。我唯一能想到的可能就是让听众聆听向上 3 根手指的滑动?获得像弹出框行为这样的 Dropbox 是一件非常痛苦的事情,所以我计划在完成所有工作后将示例应用程序上传到 GitHub,以帮助人们节省一些时间来寻找解决方法!有没有人遇到过这个问题?干杯!
这是带有弹出框“MenuBarController”#import“MenuBarController.h”逻辑的类
objective-c - OSX:从状态栏菜单启动窗口
我有一个作为代理运行的状态栏应用程序,没有停靠图标或主窗口。当您单击状态栏图标时,会出现一个弹出窗口(想想 Dropbox)并且它有一个按钮。此按钮需要为应用程序启动一个窗口。因此,本质上,当您启动计算机时,应用程序会安静地启动并位于您的状态栏中,并且在您从弹出窗口启动它之前不会打开任何用户界面。我无法通过我的弹出窗口的视图控制器从 main.storyboard 启动视图/视图控制器(这是它自己的单独笔尖)。
我遇到了一个答案,说要尝试以下方法:
但是,这不起作用,因为 instantiateControllerWithIdentifier 返回的是 viewController 而不是 windowViewController。关于如何解决这个问题的任何想法?关于状态栏应用程序的信息并不多。我熟悉 iOS 编程,但这是我第一次尝试 OSX 应用程序。
该应用程序目前非常小,因此如有必要,我可以提供更多源代码。
提前致谢!
objective-c - 如何从另一个视图访问 NSStatusBar?
我有状态栏图标,我正在尝试添加右键菜单。
NSStatusBar
在其他视图中,如果用左键或右键按下,我可以得到。在右键单击事件中,我正在尝试添加NSMenu
. 我想我可以像这样添加菜单:
但我不能,因为我没有 statusItem。我对此很陌生,所以也许这甚至不是正确的方法。
编辑:不知何故,我设法使菜单显示。我不确定这样做是否正确,但我所做的只是将 statusItem 分配给我的自定义视图,如下所示:
将此添加到自定义视图头文件中:
并显示这样的菜单:
macos - registerForDraggedTypes 与 NSStatusBarButton?
我正在尝试使用 NSStatusBarItem 实现文件拖放。
我真正拥有的是statusBarItem.button!.window?.registerForDraggedTypes([NSFilenamesPboardType])
,但我不知道如何或在哪里实际覆盖诸如draggingEntered
and之类的方法performDragOperation
。
我知道可以使用自定义视图来完成,但如果可能的话,我想远离已弃用的方法。
cocoa - NSStatusBar 的垂直属性是什么?
我刚刚查看了 Apple 文档NSStatusBar
,发现了这个奇怪的属性:
vertical
财产一个布尔值,指示状态栏是否具有垂直方向。>(只读)
宣言
讨论
当此属性的值为 时
YES
,状态栏为垂直方向。该systemStatusBar
方法返回的状态栏是水平的,并且具有NO
此属性的值。可用性
在 OS X v10.10 及更高版本中可用。
目前还不清楚这是否在任何地方使用,因为它显然没有真正用于[NSStatusBar systemStatusBar]
,据我所知,这是唯一的例子。
这个是来做什么的?
macos - 右键单击 NSStatusBarButton 时调用 Action
我正在寻找一种方法来检测何时NSStatusBarButton
右键单击(使用 Swift)并调用操作。
我目前是这样设置的:
我想过使用button.rightMouseDown(<#theEvent: NSEvent#>)
(因为没有这样的“alternateAction”),但不幸的是,由于我刚刚开始编写 Mac 应用程序,我没有想出一些东西。
更新:
在寻找一种方法时,我看到一些线程告诉子类 a
NSView
,但我不知道这应该如何工作(这可能是因为我对编程真的很陌生,甚至不知道如何“子类”)。我仍然认为有一些更简单的方法可以使用它,因为statusBar
我知道的几乎每个应用程序都可以右键单击。
macos - NSClickGestureRecognizer 在 NSStatusItem 上不起作用
试图识别右键单击 aNSStatusItem
我得到了一个建议(感谢Zoff Dino )使用 a 。但由于某些奇怪的原因,它没有按应有的方式工作。我能够识别左键单击 ( ) 但不能识别右键单击 ( )。这就是我希望它工作的方式,但事实并非如此: NSClickGestureRecognizer
buttonMask = 0x1
buttonMask = 0x2
更新:
我仍然没有设法开始工作。不知何故,它不会对右键单击做出反应(但在左键单击时更改代码)会。我想一些非常简单的问题正在发生,似乎阻止它工作。更奇怪的是
gesture.buttonMask = 0x1
左键单击。
image - 如何让 Dropbox 暂停喜欢 NSStatusBarItem 的按钮
我知道如何为明暗模式制作图像(只需NSStatusBarItem
将图像设置为模板,)。此外,为了使按钮具有禁用外观,我们可以使用属性。image.template = true
appearsDisabled
然而,关于NSStatusBarItem
. 我看到Dropbox和蓝牙NSStatusBarButton
在彼此之上同时具有非活动和活动图像。您可以尝试暂停Dropbox,您会看到比 Dropbox 图像更清晰的暂停图像。此外,当蓝牙连接时,您会在蓝牙图像上方看到三点图像。
我试图为图像添加白色和黑色,甚至是灰度。但结果却有所不同。我认为应该处理两张不同的图像。
我怎样才能在状态栏上有这种图像?
macos - 如何以编程方式打开状态栏应用程序?
我想在触发全局快捷方式时打开我的状态栏应用程序。
这是我设置 statusItem 的方式:
之后我使用 DDHotKey 来响应快捷方式。我可以确定是否触发了快捷方式,但我不知道如何打开菜单,因为它是状态栏单击。
我也尝试过使用 NSMenu popUpContextMenu。但在我看来,这不是正确的方法。菜单显示在一个新窗口中,这不是我正在寻找的行为。