问题标签 [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 - 将 NSMenuItem 的标题椭圆化为菜单的宽度
我想以编程方式更改 NSMenuItem 的标题,但将其省略,以便此修改不会导致菜单宽度增加。我怎样才能做到这一点?
cocoa - NSMenuItem 编号冒泡?
我见过这样的事情:
在菜单项右侧的 Menulet 中,我不知道该怎么做。
谁能详细说明?谢谢!
cocoa - 选择 popUpContextMenu 中的第一项
我在一个非常键盘密集型的应用程序上工作。双手放在键盘上。没有手放在鼠标上。
用户可以通过键盘弹出上下文菜单,选择一个项目,最后按 Enter。
[NSMenu popUpContextMenu]
显示菜单而不突出显示任何项目。用户必须按一次 arrow_down 才能突出显示第一项。
我的一位朋友观察到每次使用此菜单时都必须按 arrow_down,并建议我删除此步骤,以便在弹出菜单时始终突出显示第一项。
我怀疑它需要碳破解?
如何以编程方式突出显示第一项?
我使用此代码弹出一个菜单。
更新:我尝试在 popUpContextMenu 之后立即向我的应用发送一个 arrow_down 事件,但是当菜单可见时该事件不会执行。(该事件在菜单消失后执行)。
cocoa - 弹出菜单要求在每次按键时更新所有菜单
我正在以编程方式创建一个弹出菜单并使用委托方法 menuNeedsUpdate:(NSMenu *) 菜单对其进行更新,然后使用 popUpMenuPositioningItem:nil atLocation:mouseLoc inView:nil 方法显示它。
就鼠标控制而言,它工作正常。但是,当使用键盘(字母或箭头键)时,我注意到它调用 menuNeedsUpdate: 来处理所有内容,包括根菜单和子菜单。这是非常低效的,并且使通过键盘使用菜单变得迟缓。
为什么会这样?有什么办法可以规避或阻止它?
cocoa - 如何强制 NSMenuItem 重绘?
我正在实现一个自定义状态栏菜单,它有一个带有 NSSearchField 的自定义视图。我正在根据搜索结果更新菜单项的数量。菜单项的数量随着用户在 NSSearchField 中的类型而改变。我注意到,如果结果数量保持不变,则项目标题不会更新(重绘)。我如何强制他们重绘?
在重建菜单的函数中,我首先删除所有项目,然后根据搜索结果创建新项目。
谢谢,
纳瓦
cocoa - 如何使用延迟的 NSMenu 创建 NSButton?
在 Cocoa 中,我想创建一个带有延迟菜单的 nsbutton。即,当点击它应该调用动作方法并且当它保持在按下状态2秒时它应该显示一个nsmenu。
它类似于 Xcode 工具栏中的“构建活动目标”按钮。
问候,
达纳拉杰。
cocoa - 我如何在 Cocoa 中获取应用程序菜单
如何获取应用程序菜单的 NSMenu 或 NSMenuItem(在苹果菜单旁边的菜单栏中)。它似乎是自动创建的,并且独立于我通过 NSApplication setMainMenu 设置的 NSMenu。
顺便说一句:我正在构建没有 Xcode 的完整应用程序,所以请不要使用 InterfaceBuilder 提示。
PS:MacOSX 10.5
cocoa - 跨多个 NSMenu 共享 NSMenuItem
我在同一个应用程序中有多个菜单,并希望在它们之间共享子菜单。
为简单起见,假设一个是主菜单,另一个是停靠磁贴菜单。
我的子菜单包含相当多的项目(比如说字体名称),出于各种原因,我需要对其中的许多项目进行 iboutlet 引用。
在 IB 中,我找不到任何“共享”这些子菜单的方式,所以我最终复制了 IB 定义(即在两个不同的地方手动重新创建每个项目),保留对两个 nsmenuitem 的引用,而不仅仅是一个等。这不好。
有没有办法在多个 NSMenus 之间共享子菜单定义?
我试图在 IB 中创建一个顶级菜单项,但我似乎无法将它链接到菜单定义中的任何内容。此外,我担心即使我设法以编程方式执行此操作,它也可能会弄乱绑定、响应者层次结构、内存管理等。
是否有这样做的最佳实践?有人做过吗?结果如何?
cocoa - 如何将焦点放在 NSMenu 上(使其获取关键事件)?
我有一个带有 NSSearchField 和菜单项的状态菜单。当搜索字段处于活动状态并且用户按下向上和向下箭头时,我想开始菜单跟踪,即用户将能够在菜单项之间使用箭头键移动。我可以捕捉 moveUp 和 moveDown 选择器。如何使菜单成为关键响应者?
谢谢,
纳瓦
objective-c - 两个 NSMenuItem 的同步状态
我有两个NSMenus
相同的NSMenuItems
。应该只选择NSMenuItem
其中一个。NSMenu
(有点像NSMatrix
)。因此,我将每个操作连接NSMenuItem
到相同的操作,并为项目的索引添加了一个 iVar,带有NSOnState
. 在方法中,我将旧索引项的状态设置为,新索引项设置NSOffState
为NSOnState
,然后将旧索引设置为新索引。这适用于两者之一NSMenus
。但我想同步它们。我可以为每个 NSMenu 添加 IBOutlets,然后在方法中设置状态,因为我可以访问两者NSMenus
。但这感觉有点多余。注意:我还计划将索引保存在用户默认值中,所以也许可以通过NSUserDefaultsController
?