问题标签 [nsmenu]
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 - 在 NSMenu 中显示自定义/任意控件
如何在 NSMenu 中显示 NSTextField 或 NSProgressIndicator?我正在寻找类似于 Spotlight 图标菜单或大多数应用程序的帮助菜单的功能。
objective-c - 在 NSMenu 打开时捕获按键事件
NSMenu
我有兴趣在 a打开时捕获按键。例如,如果菜单打开并且用户在键盘上按下“e”或“1”,则发送特定消息(最好传递包含对按下哪个键的引用的事件对象)。
我查看了备用菜单,但我的印象只能用于捕获选项键。
目前我没有使用任何自定义视图,只是NSStatusBar
(菜单产生的地方)和NSMenu
.
我是 Objective-C 的新手,所以如果我的措辞有误,我深表歉意。
真的很感谢帮助!
cocoa - 如何知道哪个 NSTableView 打开了上下文菜单?
我有 5 个具有相同上下文菜单的 NSTableView 实例。当我收到菜单已被单击的消息时,我需要知道哪个表发送了它。我已经检查了 NSMenu 文档,但我似乎没有找到一种方法来检查哪些表打开了菜单..
我正在考虑继承 NSTableView 并在 menuForEvent 上向代表发送消息,这是最好的方法吗?
更新:
感谢 Joshua,我正在使用 5 个表格来显示每周 5 天的任务计划。每个表代表一个工作日,我添加了用于添加和删除任务的上下文菜单。因此,当用户在工作日单击“添加任务”时,我需要知道是哪一个。我通过子类化 tableview 并在打开菜单时向委托发送消息来使其工作。通过这种方式,我的控制器知道哪个表是最后调用菜单的。但在我看来,这似乎不是最好的实现,也许就像你说的问题出在 UI 上,你怎么看?何塞。
cocoa - 对状态栏项的 NSMenu 进行逆向工程
我想为状态栏项目创建一个菜单,就像在 Tapbot 的 PastebotSync 应用程序中看到的那样:
有谁知道如何在菜单顶部实现与顶部齐平的自定义区域?
我已经尝试/想到了一些潜在的方法:
- 带有视图的标准 NSMenuItem - 不与菜单顶部齐平
- 一些 hack-ish 代码将 NSWindow 放置在菜单顶部的区域上 - 不是很好,因为它不会在菜单关闭时很好地淡出
- 完全放弃 NSMenu 并改用 NSView - 还没有尝试过,但我真的不想制作一些假按钮或充当 NSMenuItems 的东西
有人有更好的想法或建议吗?
谢谢!
cocoa - Cocoa validateUserInterfaceItem 和菜单项隐藏
使用 validateUserInterfaceItem 可以禁用/启用菜单项,但我需要类似的行为来隐藏菜单项,您有什么提示吗?
macos - 如何使用名为“文件菜单”的默认 NSMenu 来获取所选文件的路径?
我想允许用户使用文件菜单在“文件菜单”的“打开...”选项中选择一个文件,并允许我获取用户选择的文件的路径。
objective-c - NSMenuItem 自定义视图上方的间隙
我正在使用setView:
方法NSMenuItem
来设置自定义视图。在这个自定义视图中,有一个图像占据了整个视图。这个NSMenuItem
自定义视图是菜单中的第一个,但问题是它不与菜单顶部齐平,有一个很大的差距,你可以在这里看到:
为什么会发生这种情况,我该如何阻止它?
编辑
我现在正在使用此代码,但我正在EXC_BAD_ACCESS
上线InstallControlEventHandler
。
还要注意这条线metrics.top = 0
,这条线应该消除顶部的间隙。但是我不能让它工作那么远。有谁知道为什么我会在EXC_BAD_ACCESS
那里收到一个。我已经创建并分配了,statusMenu
所以它肯定可以工作吗?
objective-c - NSMenuItems 消失的问题
我在 Interface Builder 中为我的应用程序的主菜单禁用了“自动启用菜单项”,因为在加载某些视图时我需要禁用一些菜单。我遇到了一个问题。每当我的应用程序与另一个应用程序(例如 Safari)通信时,所有菜单都会被禁用,我必须强制退出并重新启动应用程序。什么可能导致这种情况发生?
objective-c - NSMenu 前面的 NSWindow
是否可以NSWindow
在 a 前面显示 a NSMenu
,使其不隐藏在其后面?
objective-c - 判断一个NSMenu是否打开
我有一个 NSMenu 当用户单击状态栏中的 NSStatusItem 时打开。如何确定 NSMenu 是否打开(扩展)?
谢谢!