问题标签 [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.
cocoa - 右键单击 NSStatusItem
我有一个NSStatusItem
,我想通过右键单击该项目来弹出一个菜单。我继承了一个 NSView 并覆盖了该- (void)rightMouseDown:(NSEvent *)event
方法。我还实现- (void)mouseDown:(NSEvent *)event
了查看修饰符标志。我的问题是,视图没有收到NSRightMouseDown
-Event。我不知道为什么?任何想法如何获得这个事件?自然,我将自定义视图添加到状态项。
- 更新 -
附加信息:我已将 NSImageView 添加到自定义视图的子视图中。
- 更新 2 -
附加信息:它符合NSMenuDelegate
协议。
cocoa - 如何制作 NSMenu 最近列表
我正在为某人开发一个小型 URL 缩短应用程序,我需要一个类似于 Droplr 的列表,其中包含所有最近缩短的 URL。该列表应该是主菜单的子菜单,它附加到一个 NSStatusItem。
每次缩短 URL 时,我都需要让该列表添加一个项目,并且我希望在单击时收到通知,其中包含链接。该列表应包含不超过十个最近的 URL。
我还需要有一种方法来存储列表,以便在应用程序再次启动时它会出现。我认为使用 Core Data 不是一个好主意,但我不确定我应该使用什么。
objective-c - 如何使用不确定的状态指示器作为 NSStatusItem 的图像?
我有一个应用程序是NSStatusItem
.
它有几种不同的模式,每种模式都需要启动一个外部进程,在此期间图标只是突出显示,并且似乎被冻结。
我想使用这种-setImage:
方法(或合理的传真)来显示一些类似于 Web 应用程序和整个 OS X 中常见的“微调器”的内容。
是否有任何本机方法可以完成此操作(例如某些实例NSProgressIndicator
?)或者我必须通过循环浏览一组图像来手动显示动画?
无论哪种情况,我将如何实施?
cocoa - 如何强制 NSMenuItem 重绘?
我正在实现一个自定义状态栏菜单,它有一个带有 NSSearchField 的自定义视图。我正在根据搜索结果更新菜单项的数量。菜单项的数量随着用户在 NSSearchField 中的类型而改变。我注意到,如果结果数量保持不变,则项目标题不会更新(重绘)。我如何强制他们重绘?
在重建菜单的函数中,我首先删除所有项目,然后根据搜索结果创建新项目。
谢谢,
纳瓦
objective-c - NSMenuItem 随时间变化的标题。
我想实现一个标题随时间变化的 NSStatusItem。我的最终目标是在我设置的图像旁边的菜单栏中显示倒数计时器。也许我正在以错误的方式解决这个问题。但是我已经有一串字符随着时间的推移不断变化,代表计时器。我试图弄清楚如何将该字符串放在为我创建的菜单设置的图像旁边。
我尝试了多次调用 setTitle 方法,但它们似乎不起作用。只有 setTitle 的初始调用在对象初始化之前起作用。之后什么也没有发生。我想我可以释放 NSStatusItem 对象并在每次我想要更改计时器时重新创建它,但这似乎非常低效。我什至不确定它是否会起作用。
我还考虑使用 setToolTip 方法来显示计时器倒计时。但这似乎与 setTitle 方法相同。一旦设置好,在释放 NSStatusItem 对象并创建一个新对象之前,您无法更改它。
任何建议,将不胜感激。
谢谢
戴夫
cocoa - 在 NSStatusItem 应用程序中显示 NSOpenPanel
我正在编写一个没有 NSWindow 的状态项应用程序。当用户单击状态项时,我会拉出一个 NSOpenPanel。当应用程序不使用 NSWindow 时,如何做到这一点?
谢谢。
cocoa - 可可:右键单击 NSStatusItem
我是一名 .Net 开发人员,需要将一个小项目移植到 Mac 中,所以我对 Objective C 几乎一无所知。事实上,下面的代码只是一堆抓着稻草在黑暗中拍摄的东西。
尝试构建一个状态菜单程序,根据它是左键单击还是右键单击/ctrl+单击来打开一个或另一个窗口。这是我所拥有的,它仅适用于左键单击(显然):
在我看来,解决方案可能是 openWin() 函数中的 if 语句来确定单击了哪个按钮(或者是否按住 ctrl)然后运行适当的代码或使菜单同时知道左右点击。但是当我尝试这样做时,这些都没有奏效。
提前致谢。
cocoa - COCOA:NSStatusitem 图标在启动外部代码时消失
我是一个 .Net 开发人员,需要将一个小程序移植到 Mac OS X。我已经完成了大部分工作(部分感谢这个网站上的人,谢谢!)但是有一个错误,也许我可以得到帮助的人。
我正在创建一个位于状态栏中的工具,单击该工具会打开一个带有多个链接或按钮的窗口。单击链接或按钮时,它们会打开网站或外部程序。问题是当我启动这些外部命令之一时状态栏中的图标消失了。更有趣的是,状态栏上应该有图标的空间仍然响应;这意味着如果我单击该区域(即使没有可见图标),它仍然会运行代码并打开窗口。
这是当前代码:
托盘.m
托盘.h
我的视图.h
我的视图.m
单击图像/按钮时会运行 openActMon,图像位于单击图标时打开的托盘Win 窗口中。至此,活动监视器成功启动,但状态栏中的图标消失了。
我曾尝试在 openActMon 中放置一个 [super setNeedsDisplay:YES],但这并没有帮助。我在 openActMon 中添加了 [view setNeedsDisplay:YES] 并且它响应未声明。
我已经给出了所有这些代码,因为正如我所说,我不是 Objective-C 编码器,而是.Net,只需要移植一些小的东西。希望这对将来的其他人有所帮助。其中很多是我从不同的论坛和网站上拼凑起来的,或者从 StackOverflow 上的一些帮助中得到了帮助。我希望有人可以提供帮助。
提前致谢!
objective-c - 处理 NSStatusItem 上的 onMouseOver 和 onMouseOut
我有一个状态菜单,里面有一些项目。所有状态项都是自定义的,并且内部具有自定义视图。
如何检测用户的鼠标何时位于 NSView(项目内部)或状态项目本身?
objective-c - 从笔尖加载菜单
我有一个 Main.xib,带有主窗口、主菜单和一个名为“StatusMenu”的第二个菜单,该菜单无处连接。
在我的应用程序中,我有一个 NSStatusItem,我想按下它并显示该二级菜单。
我怎样才能连接这两个?
谢谢