gpt4 book ai didi

objective-c - 如何为带有嵌入式 NSProgressIndicator 的菜单项创建 NSMenuItem View ?

转载 作者:搜寻专家 更新时间:2023-10-30 19:41:09 26 4
gpt4 key购买 nike

我想创建一个带有嵌入式 NSProgressIndicator 的菜单项,类似于 Wi-Fi 状态菜单的“Wi-Fi:正在寻找网络...”菜单项:

Screenshot of opened Wi-Fi status menu on Mac showing "Wi-Fi: Looking for Networks…" menu item

我认为我将需要使用 setView: 方法,如以下讨论:Views in Menu Items .但是,当我调用 setView: 并传递 NSProgressIndicator 时,只显示 NSProgressIndicator

如何创建自定义菜单项 View 以获得与 Wi-Fi 状态菜单的“Wi-Fi:正在查找网络...”菜单项类似的结果?

最佳答案

如您链接到的文档中所述:

A menu item with a view does not draw its title, state, font, or other standard drawing attributes, and assigns drawing responsibility entirely to the view.

因此,如果您希望您的菜单项看起来像一个普通菜单项加上一些其他内容,您的 View 必须在其他内容之外绘制普通菜单项功能。因此,您可以将菜单项的 View 设置为自定义 View 。进度指示器将是该自定义 View 的一个 subview ,但您需要其他 subview 来实现其他功能。例如,菜单项文本的文本字段和状态指示器的 ImageView (如果您的项目显示状态)。

您必须在选择或跟踪项目时绘制突出显示。您还必须进行鼠标跟踪。 Apple 有一些示例代码可以演示其中的各个部分:

MenuItemView
CustomMenus
GridMenu

关于objective-c - 如何为带有嵌入式 NSProgressIndicator 的菜单项创建 NSMenuItem View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25961049/

26 4 0
文章推荐: java - 有没有办法在 Java 中强制使用制表符而不是空格?
文章推荐: database - 关系 的 Postgres 权限被拒绝