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

cocoa - 通过 Carbon Application 添加系统状态栏项

是否可以通过 Carbon 应用程序将状态项添加到系统状态栏?碳中 NSStatusBar 的等价物是多少?是否可以通过 Cocoa 制作一个 dylib 并在 Carbon 中用于此目的?谢谢。

0 投票
1 回答
136 浏览

objective-c - XML 数据中的 NSStatusBar 标题行为异常

我想用我的 XMLparser 中的字符串“setTitle”NSStatusBar。当应用程序启动时,它会在状态栏中正确显示标题。但是,当刷新 XML 数据时,标题会显示更新后的字符串,但标题会在状态栏中向左移动。我希望在 XML 刷新后标题保持在同一位置。

这是什么原因造成的?

在应用程序开始时:

在此处输入图像描述

XML数据刷新后:

在此处输入图像描述

这里是我调用 NSStatusBar 的地方:

0 投票
1 回答
357 浏览

macos - 用户在 Mac 上打开其他 NSStatusItem 菜单的通知

我正在编写一个位于菜单栏中的 mac 应用程序,并在用户NSPanel单击状态项时向他们展示一个实例。每当打开另一个状态项的菜单时,我想隐藏窗口。现在,我的面板保持打开状态;它看起来像这样:

我的应用程序在左侧,附加到无限状态项

当另一个状态项打开其菜单时,我看到像我这样的其他应用程序关闭,所以我想知道他们知道哪个通知会消失。我查看了NSWindowDelegateand NSApplicationDelegate,但没有看到任何通知正在生成。

有什么建议吗?

0 投票
1 回答
980 浏览

objective-c - 需要让 NSPopover 在 awakeFromNib 期间出现吗?

我在系统菜单栏中有一个状态项,单击它时会出现一个弹出框。我想让弹出框在应用程序首次启动时自动出现。我试图将其添加[self clickStatusBar:self]到 awakeFromNib 方法中,但它不起作用。有谁知道如何做到这一点?

以下是我目前的方法:

我尝试添加applicationDidFinishLaunching:

但我得到一个错误 -[AppDelegate bounds]: unrecognized selector sent to instance

0 投票
2 回答
916 浏览

cocoa - 奇怪的行为:从堆栈拖动到状态项不起作用

我的应用程序允许拖动到主窗口和状态项。

  • 如果我将一个文件从 Stacks 拖到我的窗口,它会完美运行。
  • 如果我将文件从 Finder 拖到我的窗口,它会完美运行。
  • 如果我将文件从 Finder 拖到我的状态项,它会完美运行。
  • 如果我将一个文件从堆栈拖到我的状态项,它就不起作用。

窗口和状态项都使用完全相同的拖放处理代码。

有趣的是,当文件从 Stacks 拖到状态项上时,光标会按预期更改,因为- (NSDragOperation)draggingEntered:(id)sender { NSPasteboard *pboard; NSDrag操作源DragMask;方法按预期调用。

但是,当文件被删除时,- (BOOL)performDragOperation:(id )sender { NSPasteboard *pboard; NSDrag操作源DragMask;方法不被调用。

下面是第一种方法的实现:

谢谢!

0 投票
1 回答
1772 浏览

objective-c - 带有 NSPopover 和 NSTextField 的 NSStatusItem

我有一个 NSStatusItem ,它显示一个 NSPopover ,其中包含一个 NSTextField 但文本字段不可编辑,尽管它在 Xcode 中一直如此。现在这是一个已知的错误,显然有人在这里发布了一个解决方案。我真的需要解决这个错误。

为方便起见,我将在这里引用答案:

主要问题是键盘事件的工作方式。虽然 NSTextField(和他所有的超级视图)接收键盘事件,但他没有做任何动作。发生这种情况是因为附加弹出窗口的视图位于不能成为关键窗口的窗口中。你绝对不能访问那个窗口,至少我不能。因此解决方案是使用类别覆盖应用程序中每个 NSWindow 的方法 canBecomeKeyWindow。

这使得弹出框完全响应。如果您需要另一个必须对 canBecomeKeyWindow 响应 NO 的窗口,您总是可以创建一个子类。

我真的不明白我应该做什么。我是否只创建这两个文件 NSWindow+canBecomeKeyWindow (.h 和 .m) 就可以了?因为它对我不起作用。

我对此不确定,但这仅在我实际使用显示 NSPopover 的 NSWindow 时才有效吗?我没有使用 NSWindow,如何让 NSTextField 可编辑?

谢谢。

0 投票
1 回答
1236 浏览

macos - 带有弹出框的 NSStatusItem

我正在尝试制作一个状态栏应用程序,但我遇到了一些问题。单击状态项后,如何显示带有自定义视图的弹出框?示例代码将不胜感激。

0 投票
3 回答
847 浏览

nsimageview - 将标题和图像都添加到 NSStatusItem

我一直在试图弄清楚如何将文本和图像添加到 NSStatusItem。这是我正在尝试做的一个模型:

http://cl.ly/GjTO

我尝试使用 statusIetm.view 并添加子视图,我尝试设置 title 和 image 属性以获得乐趣,即使我知道这不起作用。'我不是试图添加一个自定义窗口的状态项,但在第一张图片中找到的温度和条件图标。如果有人有任何想法,我很想听听他们的意见。

谢谢

0 投票
1 回答
282 浏览

objective-c - NSStatusBar 项目在 Xcode 上没有发光图像的发光

我怎样才能在状态栏项目上制作像这样的光芒?
在此处输入图像描述

我知道我可以用另一个 png 来做到这一点,但我见过一些其他应用程序,它们只有状态栏的黑色图标,没有发光。
我怎样才能做到这一点?
谢谢

0 投票
1 回答
1232 浏览

cocoa - 主线程 Runloop 在打开 nsmenu 时被阻塞

我有一个 UI 元素包含一个NSStatusItem和一个菜单的应用程序。在我的应用程序中,我使用NSTask异步执行一些操作,并使用使用 获得的输出 NSFileHandleReadCompletionNotification来更新菜单。但是现在每当我单击并打开菜单时,主运行循环都会进入 NSEventTrackingRunLoopMode并且通知发布失败。所以基本上在我的菜单打开的情况下,主线程上不会发生任何操作。现在我在这篇文章中发现了一个类似的问题,但那里接受的解决方案似乎没有帮助。我知道对于NSNotificationCenterNSRunloopDefaultMode不能被阻止。有没有办法改变这种行为???有人可以帮忙吗???