问题标签 [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 回答
1168 浏览

objective-c - 在 NSMenu 上使用 NSStatusItem-Objective-C/Cocoa 的箭头控制 NSSlider

我想创建一个带有垂直滑块的状态项,就像 Apple 提供的声音控制一样。我的问题是:我如何让它对向上/向下箭头键做出反应,就像声音菜单中的滑块一样?

我试图创建一个 NSSlider 子类,当按键被按下时会增加/减少它的值(见下文),但我需要让它成为第一响应者。为了使它成为第一响应者,我将主类设置为这个菜单的代表并添加了这个方法:

我应该调用哪个窗口?我应该以其他方式这样做吗?你会怎么做?

滑块子类:

我已经对其进行了测试,当它是具有正常 NSWindow 的第一响应者时它可以工作。我只是不能用状态栏项目中的菜单来做到这一点。

0 投票
1 回答
700 浏览

objective-c - NSStatusBar 内的 NSTextField:焦点和可编辑问题

我的 Cocoa 应用程序是由一个 NSStatusBar制作的,里面有一个NSTextField和一个主窗口。
请查看屏幕截图以了解想法:

在此处输入图像描述

我有两个问题:

  1. 当我打开菜单栏时,我无法将焦点移到 SearchField(如 Spotlight),也无法选择带有[textField selectText:self]之类的内容

  2. 最糟糕的是:如果我的 MainWindow 在前面,它可以正常工作。如果我的 MainWindow 不在前面但可见,我无法编辑 TextField。它可以用鼠标选择,但不可编辑。为什么这个 ?

在此处输入图像描述

我尝试了所有发现的黑客,但我无法解决问题。

0 投票
1 回答
587 浏览

objective-c - 最小化mac中的所有窗口,但每次有一个窗口处于活动状态

我添加了一个代码来最小化 NSStatusItem 上所有正在运行的应用程序,它是一个非常简单的代码

但是当我运行这个应用程序时,一个应用程序总是在桌面上,用户当前正在与之交互。我也试过

甚至对于那些会很好地建议我使用苹果脚本的人,我也尝试过,但没有运气可能是我的脚本错误不知道

但同样的问题仍然存在,我无法指出为什么每次使用 NSStatusItem 时都会保留一个应用程序。请帮我解决这个问题。

0 投票
1 回答
1179 浏览

macos - NSStatusItem 工具提示 - 更改延迟

我有一个NSStatusItem我使用该setToolTip:方法添加了一个工具提示。

一切正常,除了显示工具提示之前的延迟似乎约为 3 秒,这对我的应用程序来说并不理想。

有没有办法在显示工具提示之前更改延迟?理想情况下,我希望延迟为 0(即,当用户将鼠标悬停在图标上时会立即显示工具提示)。

0 投票
1 回答
324 浏览

cocoa - 创建状态项 - 图标显示,菜单不显示

在一个基于文档的项目中,我正在尝试创建一个状态菜单。如您所见,我有一个构建状态栏的单例类,并且我从应用程序委托启动它。当我运行它时,我没有收到任何错误,但只有状态栏的图像,但没有下拉菜单。我在 IB 中创建了菜单。我在搞砸什么?

代表

。H

.m

0 投票
0 回答
141 浏览

cocoa - NSStatusItem 菜单中的 VoiceOver 错误

我在使用 VoiceOver 时遇到了以下错误。我是 Cocoa 编程的新手,所以我很好奇我是否做错了什么,或者是否有其他方法可以做到这一点。以下代码在菜单栏上放置一个图标,并有一个包含 1 项的菜单。

当您打开 VoiceOver (command-F5) 并单击图标时,它会告诉您:“菜单(1 个项目)”。但是,第二次(有时是第三次)和之后,即使菜单没有更改,它也会显示“菜单(0 项)”。

您可以通过以下方式编译和运行它:

我在雪豹和狮子身上都看到了这种行为。知道什么给出了吗?

谢谢!

0 投票
1 回答
713 浏览

cocoa - NSMenuBar 鼠标按下通知?

我正在尝试查找通知/方法来检查 NSStatusBar(系统宽栏)中的 NSStatusItem 是否被单击。

有谁知道如何做到这一点?

谢谢

已编辑 20120111

我的意思是整个状态栏中的“任何”项目。

0 投票
2 回答
368 浏览

objective-c - 没有自定义视图的 NSStatusItem 的 MAAttachedWindow

我有一个简单的应用程序,它有一个 NSStatusItem,它只显示一个图标。

我现在想添加可以MAAttachedWindow在 NSStatusItem 下显示的功能。

我看到了 Matt Gemmel 提供的演示代码;他用来MAAttachedWindow在 NSStatusItem 下显示的代码是:

以上是在自定义视图中完成的NSStatusItem。但是,我NSStatusItem的没有自定义视图。如何MAAttachedWindow在我的情况下添加?

0 投票
1 回答
217 浏览

cocoa - 菜单栏不激活应用程序

我正在尝试弄清楚我的 Mac 应用程序在运行时如何将它可爱的小图标放在后台的 Dock 中,然后用户可以单击菜单栏中的图标并触发菜单,而无需将我的应用程序激活到前台? 有任何想法吗?

0 投票
1 回答
1084 浏览

objective-c - 如何在 OSX 中获取 NSStatusBar 的所有 NSStatusItem 元素?

我需要在 OSX 的状态栏中获取所有元素。

我试图获取系统的 NSStatusBar id: [NSStatusBar systemStatusBar] 但我不知道如何获取其中的所有 NSStatusItems。我在 NSStatusBar 中找到了一个名为 _items 的私有方法,但我不能调用它:

[[NSStatusBar systemStatusBar] _items];

Xcode 告诉我该方法不存在。

如何获取 NSStatusBar 中的所有 NSStatusItem 元素?

谢谢