问题标签 [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.

0 投票
1 回答
3295 浏览

cocoa - Set focus on a NSTextField in an NSMenu?

I have an NSMenu in the Mac statusbar, inside it I have a load of NSMenuItems and a custom view. Inside the custom view I have an NSTextField. I want to set the focus on the NSTextField when the menu is opened as in the Spotlight menu so the user can type straight away.

I have tried quite a few methods including:

and

but none of them work.

Thanks Alex

0 投票
2 回答
1400 浏览

cocoa - 带有多个参数的@selector

首先我的代码:

我想用选择器item作为我的press:方法的参数。

非常感谢你 :)

PS:我是为 Mac 而不是 iPhone 做这个。

0 投票
2 回答
1143 浏览

objective-c - 从笔尖加载菜单

我有一个 Main.xib,带有主窗口、主菜单和一个名为“StatusMenu”的第二个菜单,该菜单无处连接。

在我的应用程序中,我有一个 NSStatusItem,我想按下它并显示该二级菜单。

我怎样才能连接这两个?

谢谢

0 投票
1 回答
1478 浏览

objective-c - NSMenu --> 添加子菜单 --> 接收选择事件

我需要为表格的选定行创建一个菜单,我可以通过覆盖来创建

表格的方法,此特定菜单有两个子菜单,我可以制作子菜单但面临以下问题

1 -- 要在 MenuItem 中添加子菜单,我需要从不同的类/接口获取子菜单,我正在调用以下方法

该函数的原型如下

实现如下,

我可以在这个子菜单上看到图像,字符串,但我面临的问题是这个菜单根本没有启用,任何人都可以指导我,我在哪里犯了错误,

此函数将返回菜单和我将添加的菜单,如下所示,

提前致谢 :)

0 投票
1 回答
298 浏览

cocoa - NSTextView 看不到主菜单的字体菜单

由于一些非常奇怪的原因,我们的文本视图都不能从我们的菜单或键盘快捷键接收粗体、斜体、显示字体等消息。

我们有一个主菜单笔尖,将我们的应用程序委托作为其委托。应用程序委托加载一个窗口控制器,它有自己的 nib。窗口控制器从 ITS 自己的 nib 加载视图控制器。在视图控制器中,我们以编程方式将 NSTextViews 添加到屏幕上。我们怎样才能让这些文本视图与主菜单对话?

0 投票
4 回答
4093 浏览

cocoa - 在我的应用程序的主菜单中设置项目的标题?

我正在尝试更改 Cocoa 应用程序主菜单中某些项目的标题。我尝试在 IB 中设置它们,也尝试通过我的应用程序的 applicationDidFinishLaunchingWithOptions: 方法以编程方式设置它们。无论哪种方式,我的 NSMenuItem 对象的 title 属性都会发生变化。但是当应用程序运行时,我的任何更改都没有反映在屏幕顶部的项目的实际标题中。

谁能解释发生了什么?我该如何改变呢?

编辑:数据结构是 IB 设置的默认结构:

我已将 firstItem 和 subMenu 的标题属性更改为我想要的标题。然而,默认的仍然显示。

0 投票
0 回答
832 浏览

objective-c - 即使调用了所有正确的方法,NSView 的上下文 NSMenu 也永远不会显示

我有一个里面NSCollectionView有一堆NSViews ,垂直堆叠,使它看起来有点像UIKit's UITableView。一切都按预期工作,除了一件事:

当右键单击任何一个NSViews 时,我希望NSMenuI set to be viewmenu会显示出来,但是很遗憾 - 什么也没有发生。

疯狂的部分是所有正确的方法都被调用了,正如预期的那样:-rightMouseDown:-menuForEvent:finally -menu

当我将任何对象设置为NSMenu's时delegate不会调用它,所以在我看来,Apple 方面的某些事情发生了故障,就在请求's和实际显示它之间。menuWillOpen:menu

有人能对此有所了解吗?

提前致谢。

PS。对于它的价值,NSMenu我手动(不依赖于 Apple 的右键单击处理)使用popUpMenuPositioningItem:atLocation:inView: 显示

编辑/更新/澄清

NSCollectionView问题的是在单击NSWindowan 时显示的内部NSStatusItem,例如 CoverSutra/TicToc/what have you。子类的一些代码MyWindow NSWindow

presentFromPoint:是我用来从我喜欢的任何一点呈现它的方法,就我而言,是从NSStatusItem. (与此问题无关)

顺便说一句,我的应用程序已设置为,因此LSUIElement它不显示菜单栏或 Dock 图标。它位于状态栏中,并在单击时显示一个窗口。Info.plistYESNSStatusItem

视图层次结构如下:

MyWindow=> contentView=> NSScrollView=>NSCollectionView

NSCollectionView有一个NSCollectionViewItem连接到它的属性的子类itemPrototype,并且NSCollectionViewItem子类有一个NSView连接到它的view属性的子类。反过来,子类与它的属性NSView有一个NSMenu连接。menu最后但并非最不重要的一点是:里面NSMenu有一个。NSMenuItem

NSCollectionViewItem到目前为止,子类和子类都NSView没有做任何有趣的事情,它们只是空的子类。

NSMenu连接到NSView' 的属性是右键单击menu时应该显示的内容,但我希望我已经说清楚了:它实际上并没有显示。NSView

更新

我仍然不知道是什么导致了这个问题,但我决定从 '继续' NSCollectionView,因为它并不真正适合我想要做的事情,我现在正在使用TDListView它就像一个魅力。

0 投票
2 回答
1448 浏览

objective-c - 在每次打开时修改 NSMenu 结构?

我需要能够在每次显示时动态修改 NSMenu 层次结构(添加/删除项目等)。例如:

  1. 用户在主菜单上启动跟踪会话并选择子菜单
  2. 检测子菜单即将打开并运行代码来修改它
  3. 继续跟踪,用户再次在同一个子菜单上跟踪:转到 2

所以要做到这一点,我有一个实现NSMenuDelegate协议的对象。menuNeedsUpdate方法第一次起作用 (2),但在第二次打开子菜单时不起作用。(每个跟踪会话仅调用一次)

方法menuWillOpen每次都会被调用,但是有文档有以下警告,这似乎取消了使用这种方法的资格:

在此方法期间不要修改菜单或菜单项的结构。

有没有办法做到这一点?

0 投票
1 回答
2573 浏览

objective-c - 以编程方式为 NSStatusBar.systemStatusBar 创建 NSMenu

我正在尝试仅使用代码在系统状态栏中创建一个简单的菜单。我没有收到任何编译或运行时错误,但我看不到任何效果。

0 投票
2 回答
1472 浏览

cocoa - NSStatusItem 内 WebView 的自定义右键菜单

我在 NSStatusItem 中嵌入了一个 WebView,当用户右键单击 WebView / NSStatusItem 时,我想显示我在 Interface Builder 中构建的 NSMenu。最简单的方法是什么?