问题标签 [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 - 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
cocoa - 带有多个参数的@selector
首先我的代码:
我想用选择器item
作为我的press:
方法的参数。
非常感谢你 :)
PS:我是为 Mac 而不是 iPhone 做这个。
objective-c - 从笔尖加载菜单
我有一个 Main.xib,带有主窗口、主菜单和一个名为“StatusMenu”的第二个菜单,该菜单无处连接。
在我的应用程序中,我有一个 NSStatusItem,我想按下它并显示该二级菜单。
我怎样才能连接这两个?
谢谢
objective-c - NSMenu --> 添加子菜单 --> 接收选择事件
我需要为表格的选定行创建一个菜单,我可以通过覆盖来创建
表格的方法,此特定菜单有两个子菜单,我可以制作子菜单但面临以下问题
1 -- 要在 MenuItem 中添加子菜单,我需要从不同的类/接口获取子菜单,我正在调用以下方法
该函数的原型如下
实现如下,
我可以在这个子菜单上看到图像,字符串,但我面临的问题是这个菜单根本没有启用,任何人都可以指导我,我在哪里犯了错误,
此函数将返回菜单和我将添加的菜单,如下所示,
提前致谢 :)
cocoa - NSTextView 看不到主菜单的字体菜单
由于一些非常奇怪的原因,我们的文本视图都不能从我们的菜单或键盘快捷键接收粗体、斜体、显示字体等消息。
我们有一个主菜单笔尖,将我们的应用程序委托作为其委托。应用程序委托加载一个窗口控制器,它有自己的 nib。窗口控制器从 ITS 自己的 nib 加载视图控制器。在视图控制器中,我们以编程方式将 NSTextViews 添加到屏幕上。我们怎样才能让这些文本视图与主菜单对话?
cocoa - 在我的应用程序的主菜单中设置项目的标题?
我正在尝试更改 Cocoa 应用程序主菜单中某些项目的标题。我尝试在 IB 中设置它们,也尝试通过我的应用程序的 applicationDidFinishLaunchingWithOptions: 方法以编程方式设置它们。无论哪种方式,我的 NSMenuItem 对象的 title 属性都会发生变化。但是当应用程序运行时,我的任何更改都没有反映在屏幕顶部的项目的实际标题中。
谁能解释发生了什么?我该如何改变呢?
编辑:数据结构是 IB 设置的默认结构:
我已将 firstItem 和 subMenu 的标题属性更改为我想要的标题。然而,默认的仍然显示。
objective-c - 即使调用了所有正确的方法,NSView 的上下文 NSMenu 也永远不会显示
我有一个里面NSCollectionView
有一堆NSView
s ,垂直堆叠,使它看起来有点像UIKit
's UITableView
。一切都按预期工作,除了一件事:
当右键单击任何一个NSView
s 时,我希望NSMenu
I set to be viewmenu
会显示出来,但是很遗憾 - 什么也没有发生。
疯狂的部分是所有正确的方法都被调用了,正如预期的那样:-rightMouseDown:
和-menuForEvent:
finally -menu
。
当我将任何对象设置为NSMenu
's时delegate
,不会调用它,所以在我看来,Apple 方面的某些事情发生了故障,就在请求's和实际显示它之间。menuWillOpen:
menu
有人能对此有所了解吗?
提前致谢。
PS。对于它的价值,NSMenu
我手动(不依赖于 Apple 的右键单击处理)使用popUpMenuPositioningItem:atLocation:inView:
显示。
编辑/更新/澄清
有NSCollectionView
问题的是在单击NSWindow
an 时显示的内部NSStatusItem
,例如 CoverSutra/TicToc/what have you。子类的一些代码MyWindow
NSWindow
:
presentFromPoint:
是我用来从我喜欢的任何一点呈现它的方法,就我而言,是从NSStatusItem
. (与此问题无关)
顺便说一句,我的应用程序已设置为,因此LSUIElement
它不显示菜单栏或 Dock 图标。它位于状态栏中,并在单击时显示一个窗口。Info.plist
YES
NSStatusItem
视图层次结构如下:
MyWindow
=> contentView
=> NSScrollView
=>NSCollectionView
NSCollectionView
有一个NSCollectionViewItem
连接到它的属性的子类itemPrototype
,并且NSCollectionViewItem
子类有一个NSView
连接到它的view
属性的子类。反过来,子类与它的属性NSView
有一个NSMenu
连接。menu
最后但并非最不重要的一点是:里面NSMenu
有一个。NSMenuItem
NSCollectionViewItem
到目前为止,子类和子类都NSView
没有做任何有趣的事情,它们只是空的子类。
NSMenu
连接到NSView
' 的属性是右键单击menu
时应该显示的内容,但我希望我已经说清楚了:它实际上并没有显示。NSView
更新
我仍然不知道是什么导致了这个问题,但我决定从 '继续' NSCollectionView
,因为它并不真正适合我想要做的事情,我现在正在使用TDListView
它就像一个魅力。
objective-c - 在每次打开时修改 NSMenu 结构?
我需要能够在每次显示时动态修改 NSMenu 层次结构(添加/删除项目等)。例如:
- 用户在主菜单上启动跟踪会话并选择子菜单
- 检测子菜单即将打开并运行代码来修改它
- 继续跟踪,用户再次在同一个子菜单上跟踪:转到 2
所以要做到这一点,我有一个实现NSMenuDelegate协议的对象。menuNeedsUpdate方法第一次起作用 (2),但在第二次打开子菜单时不起作用。(每个跟踪会话仅调用一次)
方法menuWillOpen每次都会被调用,但是有文档有以下警告,这似乎取消了使用这种方法的资格:
在此方法期间不要修改菜单或菜单项的结构。
有没有办法做到这一点?
objective-c - 以编程方式为 NSStatusBar.systemStatusBar 创建 NSMenu
我正在尝试仅使用代码在系统状态栏中创建一个简单的菜单。我没有收到任何编译或运行时错误,但我看不到任何效果。
cocoa - NSStatusItem 内 WebView 的自定义右键菜单
我在 NSStatusItem 中嵌入了一个 WebView,当用户右键单击 WebView / NSStatusItem 时,我想显示我在 Interface Builder 中构建的 NSMenu。最简单的方法是什么?