11得票3回答
NSMenu编程选择项目

我正在为应用程序编写插件——自定义键盘快捷方式。我可以遍历它的视图。 我需要打开弹出菜单,选择其中的项目,然后打开其子菜单并选择其中的某些项。 目前,我只能通过向相关的NSPopUpButton元素发送performClick:来打开顶部弹出菜单。 我如何以编程方式选择菜单中的项目并打开...

11得票1回答
使用自定义视图的NSMenuItem未能接收鼠标事件。

我正在开发一个菜单栏应用程序,并使用NSMenuItem的view属性设置自定义视图。 视图可以正常显示,但是对于具有展开子菜单的菜单项,我无法接收任何鼠标点击事件。 在此截图中,我为每个项目添加了一个按钮。最右边的3个按钮功能正常,但父级菜单中的按钮根本没有接收到任何点击事件。 我...

10得票1回答
SwiftUI:如何在macOS应用程序中实现编辑菜单

我正在使用 SwiftUI 和新的 App 生命周期构建 macOS 应用程序。 在启动新项目后,所有默认的 macOS 菜单项(如剪切、复制、粘贴)都已经存在,但是它们是灰色的。我该如何为这些默认菜单项实现方法呢? 编辑:我目前正在使用 Xcode 12.2 beta 3(12B50...

10得票3回答
如何在NSMenu打开时更新它?

我有一个包含动态添加的NSMenuItems的NSMenu。当NSMenu处于打开状态时,它无法正确刷新。我在NSEventTrackingRunLoopModes中调用NSMenu更新方法。 我已经实现了以下方法来更新NSMenu。 - (void)menuNeedsUpdate:(NS...

10得票2回答
如何接受编辑并关闭包含自定义视图的弹出菜单?

我想在表格视图中编辑特定列时添加使用日期选择器的功能,使用了这里的代码片段,效果很好。然而NSDatePicker并不适合我的需求,所以我正在使用自己的自定义视图,它是使用IB创建的,并通过NSViewController子类加载以编辑日期。 但是我无法找出如何以接受编辑的方式关闭弹出菜单,...

10得票1回答
确定一个NSMenu是否已经打开

我有一个NSMenu,当用户点击状态栏中的NSStatusItem时会打开它。如何确定NSMenu是否已经打开(展开)? 谢谢!

10得票1回答
如何像苹果专业应用程序一样自定义NSMenu?

我想使用NSMenuItems自定义一个NSMenu,使其看起来像苹果的专业应用程序。 但是如何自定义NSMenu呢?没有绘制方法可以更改外观。 如果我将一个NSView设置为NSMenuItem,我可以设置背景颜色,但我将失去高亮和菜单处理。此外,NSMenu的上部和下部无法自定义。 我...

9得票2回答
每次打开时修改NSMenu结构?

我需要能够在每次显示NSMenu层次结构时动态修改它(添加/删除项目等)。例如: 1.用户在主菜单上启动跟踪会话并选择子菜单 2.检测到子菜单即将打开并运行代码以修改它 3.保持跟踪,用户再次跟踪相同的子菜单:转到步骤2 因此,我有一个实现NSMenuDelegate协议的对象。menuN...

9得票1回答
NSMenuItem、自定义视图和mouseUp:存在奇怪的问题

我在使用NSMenu时遇到了一个非常奇怪的问题。 大约有一半的NSMenuItems通过NSMenuItem的setView:方法来设置自定义视图。在这个自定义视图中,我实现了mouseUp:以捕获用户点击菜单项的情况,并且第一次打开菜单时这确实起作用。 但是,在第二次打开时,如果我在单击...

9得票2回答
Swift:10.10 中 NSStatusItem 菜单的行为(例如,仅在右键单击时显示)

我正在使用Swift编写一个简单的状态栏应用程序,并尝试使用在OS X 10.10中引入的新NSStatusItem API。 我希望实现的界面是:单击状态项左键可切换核心功能的开启和关闭,右键(或按住Control键单击)可显示设置菜单。对于此功能,我不需要自定义视图或弹出窗口。 默认情...