问题标签 [nsmenuitem]

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 投票
1 回答
2512 浏览

cocoa - 如何从子菜单中获取 NSMenuItem?

我有对最外层菜单的引用,但我试图获取对嵌套在子菜单中的 NSMenuItem 的引用:

file_menu 显然是一个子菜单(NSMenu),但我不确定如何从它的 itemarray 中获取一个项目。我尝试将其转换为 NSMenu 并将 itemWithTitle 作为选择器执行,但没有成功。

我怎样才能得到第一个 NSMenuItem 呢?

0 投票
3 回答
2136 浏览

objective-c - 如何隐藏 NSMenuItem?

我目前正在用 Objective-C 编写一个 Mac 应用程序,但我一生都无法弄清楚如何隐藏 NSMenuItem。(注意:是的,我的意思是隐藏,而不是禁用/灰显。我意识到这样做对用户体验的影响,但功能并不是你想象的那样。相信我。)

无论如何,文档都没有提到这样做,甚至可能吗?

0 投票
3 回答
1301 浏览

cocoa - 某些等效键不能用于 NSMenuItem

我有一个NSMenuItem我想使用等效键 Command-Option-C 的键。但是,当我在 IB 中设置等效键时,它不会在应用程序实际运行时与菜单项关联。该条目没有可见的等效键,并且该命令不会调用该条目。其他关键等效项,如 Shift-Control-C,确实有效。我尝试使用的那个不与应用程序中的任何其他等效键冲突。

什么可能导致这个看似随机的问题?

0 投票
1 回答
127 浏览

cocoa - 在哪里实现不依赖于窗口的菜单项的方法(Cocoa OSX

我目前在 NSWindowController 子类中为我的 mainMenu 实现了大部分功能,这对大多数功能都适用,但我希望能够在未选择 Window 时使用一些菜单项。哪里是实施和验证这类菜单项的最佳地点?

0 投票
1 回答
1241 浏览

objective-c - 使用 NSMenuItems 从 NSArray 填充 NSMenu - 需要替代建议

所以我有以下代码:

这会从 NSArray 动态生成子菜单项,并允许我根据选择的选项(在特定浏览器中)打开 url:

我的问题是,虽然这似乎很好用,但我想为 NSMenu supportLinkItem 设置一个图像,这是我的 .h 文件的样子:

并且出口链接到子菜单项,因为我已将其(父项?-术语?)创建为 NSmenu,它不允许我作为 - (void)setImage:(NSImage *)menuImage 方法访问它它不是一个 NSMenuitem。现在我想也许我在这里做了一些奇怪的事情,从技术上讲,当你将“子菜单项”拖到界面构建器中时,它是一个 NSMenuItem 而不是 NSMenu,我的代码再次完美运行,除了我无法设置菜单的图像,我认为这是不行的,但也许有类似的方法可以从 NSArray 中读取来填充一组子菜单。

0 投票
0 回答
794 浏览

objective-c - NSMenuItem 操作覆盖 NSPopUpButton 操作

我注意到一个有趣的行为,我想知道这是否是我做错了。我有一个 NSPopUpButton,在 NSPopUpButton 上的 NSMenu 上有几个 NSMenuItems。当我单击弹出按钮并选择一个项目时,我链接到 NSPopUpButton 的操作会被触发,除非我选择的菜单项定义了它自己的操作:@selector(method)。在这种情况下,选择器中的方法会被触发,而其他操作不会。我认为两者都应该发生。

也与此相关,如果我在菜单项上有选择器,并且我调用 [popUpButton selectItemAtIndex:index] 不应该在适当的菜单项上调用选择器吗?

这是正确的行为吗?

0 投票
1 回答
152 浏览

objective-c - 从菜单栏应用程序获取文本输入?可可

所以我创建了一个菜单栏应用程序(代理应用程序),我需要找到一些方法来通过菜单栏图标获取文本输入。我听说使用文本字段制作弹出模式是不受欢迎的,并且将文本字段放入 anNSMenuItem对功能不利。当我尝试时,它甚至不起作用。

0 投票
2 回答
1028 浏览

objective-c - 将 NSButton 的操作设置为与 NSMenuItem 的相同

在我的应用程序中,我保存了用户首选项,其中一项首选项是是否NSMenuItem在主窗口中将任何 s 显示为按钮。我动态创建按钮没有问题,但我无法NSMenuItemNSButton. 我已经尝试过:

更新

我只需要将目标设置为自我

并将代码移动到将动作发送到的类NSMenuItem

0 投票
4 回答
7527 浏览

cocoa - 如何跨 nib 文件将菜单项连接到 NSApplication 委托中定义的自定义操作?

在我的 Cocoa 应用程序中,我有两个需要连接的 NIB/XIB 文件:

  1. MainMenu.xib:包含 NSApplication 委托对象的自定义对象,并将其连接到NSApplication占位符中的正确插座。

  2. ContextMenu.xib : 设置一个NSMenu; 一个条目应该打开首选项对话框

我的自定义应用程序委托定义了一个IBAction为我的应用程序调出首选项窗口。

如何连接 NSMenuItem(第二个 NIB)以显示应用程序委托(第一个 NIB)中定义的操作的首选项?

文档说这应该很容易,但他们没有提到如何在 Interface Builder 中准确地做到这一点:

如果菜单项引用应用程序级命令,您可以直接在应用程序委托中实现该命令,或者只是让委托将消息转发到应用程序中其他位置的适当对象。

我需要以某种方式访问​​第二个 NIB 中的应用程序委托,告诉 Interface Builder 它属于我的自定义类(因此它知道自定义 IBAction),并将其连接到菜单项的操作。

感谢您的任何指点!

0 投票
1 回答
2395 浏览

objective-c - 使用 NSMenuItems 更新动态创建的 NSMenu

我有一个 NSMenu 和 3 个我想保留的静态 NSMenuItem,然后是动态生成的一堆,每次用户单击菜单图标时都应该删除并重新加载。

我正在尝试创建一个弹出的进程列表,但每次打开弹出窗口时,NSMenuItems 都不清楚。他们只是以某种时髦的方式添加。记录 for 循环表明循环没有完成。任何想法为什么?