问题标签 [nsstatusitem]

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 投票
2 回答
1757 浏览

objective-c - 在 NSStatusItem 上实现 NSPopover

我目前有一个NSStatusItem这样初始化的状态栏awakeFromNib

NSMenu单击图标时,我会打开一个。单击其中一个选项时,应该NSPopover从状态栏图标打开一个。为此,我有这段代码,它通过 Interface Builder 连接到菜单项:

但是,当我单击应该打开 Popover 的菜单项时,什么也没有发生。有什么特别的原因会导致这种情况吗?据我所知,应该可以做到。

提前致谢。我尽我所能查看了 Stack Overflow,但如果有一个真正重复的问题,请将我链接到它。

仅供参考:statusItem变量是NSStatusItem.

0 投票
1 回答
844 浏览

objective-c - 检查 NSStatusItem 当前是否显示在 OS X NSStatusBar 主菜单栏中

我的应用程序在 OS X 菜单栏中放置了一个 NSStatusItem。在某些时候,我想从系统 NSStatusBar 中删除菜单栏图标。(此时我仍想保留 NSStatusItem,并向其发送消息……只是没有显示。)

我正在使用此方法从状态栏中删除 statusItem:

我想在稍后的某个时间检查 statusItem 当前是否显示在状态栏中。我不希望通过布尔值等来跟踪这一点。

我认为这个检查会起作用:

这输出:

所以 statusItem 的 statusBar 没有明显的变化。

NSStatusBar类引用似乎不包含任何适用的方法。

有没有办法检查某个 NSStatusItem 是否在主系统栏中?

0 投票
2 回答
1303 浏览

objective-c - 有没有办法以编程方式突出显示状态栏项目?

我想执行以下操作:
当我单击状态栏项目 ( NSStatusItem) 时,我想无限期地突出显示它(无菜单),当应用程序失去焦点时,我想停止突出显示它。

有没有办法做到这一点?找不到了,呵呵

0 投票
1 回答
1763 浏览

objective-c - 如何创建状态栏弹出视图(菜单)?

在此处输入图像描述

顶部的三角形看起来如此美妙,但我无法像这样组成。

我曾尝试编写如下代码,但我看到了一个普通的菜单。

在此处输入图像描述

请帮我做点什么来执行它。非常感谢!

0 投票
1 回答
360 浏览

objective-c - 如何在 NSStatusItem 的自定义 NSView 中重绘图像?

我在理解如何为 NSMenuItem 连接自定义 NSView 以支持动画和拖放时遇到了一些麻烦。我有以下 NSView 子类来处理大部分工作。当应用程序正确启动时,它会绘制我的图标,但是当我从另一个调用者调用 setIcon 函数时,我无法正确设置要更改的子视图。是否有一些我遗漏的设计元素?

托盘图标视图.m

托盘图标视图.h

0 投票
1 回答
2305 浏览

macos - 具有自定义 NSMenu/MenuItems 和拖放功能的 Mac OSX NSStatusItem

我正在尝试创建一个在状态栏中具有 NSStatusItem 图标的 Mac 应用程序。状态栏图标应支持文件拖放,并且在单击时还必须显示菜单。

问题是我已经设法分别实现这两个功能并且很难将它们合并在一起。

我能够使用此链接创建状态栏应用程序:

http://cocoatutorial.grapewave.com/2010/01/creating-a-status-bar-application/

然后我能够使用以下链接在状态栏图标上实现拖放功能

使用 NSStatusItem 拖放

我面临的问题如下,为了进行拖放,我必须创建另一个视图,然后将该视图分配给 NSStatusItem ,如下所示:

由于这只是一个视图,显然它不会像 NSStatusItem 的默认视图那样运行,也不支持鼠标交互或其他任何东西。我设法通过将以下函数添加到 ViewWithDragFunctionality.m 找到解决方法

每当单击状态栏图标并且还检测到文件拖放时,都会调用该函数。

但是现在我一直在弄清楚如何在单击状态栏图标时显示菜单。

任何帮助都感激不尽。我正在为此制定解决方案,如果我先找到一些东西,我会在这里发布:)

问候

舒迈斯

0 投票
2 回答
1081 浏览

objective-c - OSX/Cocoa 创建状态栏项目时出现问题(Apple 指南不适合我)

我相信我正确地遵循了这个例子。(https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/StatusBar/Tasks/creatingitems.html

...

我构建并运行。看不到新的状态栏项目。为什么不?如果我是一个无知的新手,请原谅我。我假设我忽略了一些基本的东西。

0 投票
0 回答
287 浏览

objective-c - NSStatusItem 突出显示时绘制动画

我在我的项目中使用 NSStatusItem 并且我希望它在我的程序运行时进行动画处理。未选择项目时它工作正常。但是当我点击它时,图像冻结了。我试图通过计时器设置替代图像但没有结果。最新的想法是在我的 NSStatusItem 上绘制 NSView 但也没有结果。

0 投票
1 回答
931 浏览

objective-c - 检查 NSStatusItem 在系统菜单栏中是否可见?

是否可以检查 NSStatusItem 在系统菜单栏中是否可见?有时不是因为用户有太多的状态项和活动的应用程序菜单栏大小。

我可以通过“hack”检查状态项的位置,如下所示:

但我不能做同样的事情是可见的:(它总是返回真)

0 投票
3 回答
323 浏览

objective-c - NSStatusItem 发布图标

我有一个 ARC 项目,其中包含单击状态栏图标后出现的自定义视图。我是编程新手,所以我从 GitHub 中提取了这个示例项目来启动和运行。该应用程序运行良好,唯一的问题是状态栏项目。我按照我应该的方式设置了 NSStatusItem,但是一旦我调用 setView,图标似乎就被释放了。我可以单击打开应用程序的菜单栏中的空白区域,以便该项目在那里,只是图标丢失了。(图像已确认有效)。我错过了什么?

这是 NSStatusItem 代码:

这是引用的菜单代码: