如何自定义NSToolbar的上下文菜单?

2024-04-11

我需要从右键单击上下文菜单中删除一些项目,但工具栏不包含用于访问“toolbarView”的公共 API。

是否可以在不使用私有 API 的情况下自定义菜单?


您可以在创建工具栏时访问和修改工具栏上下文菜单,即在-[awakeFromNib]:

- (NSMenu *)toolbarMenuInWindow:(NSWindow *)window
{
    NSView *contentView = window.contentView;
    NSView *toolbarView = contentView.superview.subviews.lastObject;
    NSMenu *toolbarMenu = toolbarView.menu;
    return toolbarMenu;
}

现在您可以直接编辑菜单项并隐藏或禁用它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何自定义NSToolbar的上下文菜单? 的相关文章

随机推荐

  • C 中的非阻塞睡眠定时器

    我正在为 Windows 寻找一个很好的 C 语言非阻塞睡眠定时器 目前我正在使用sleep 10 这当然是一个阻塞计时器 另外 我希望它不消耗系统资源 就像我的睡眠计时器一样 它不使用任何我满意的 CPU 或系统资源 那么 我可以使用的最
  • Zebra iMZ320 无法理解命令 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试将标签从 Android
  • 如何将容器推送到 Google 容器注册表(无法创建存储库)

    编辑 我只是将其归咎于平台不一致 我现在已经放弃推送到 Google Cloud Container Registry 而是创建了一个 Ubuntu VM 我正在其中执行此操作 出于前面所述的原因 我也投票决定结束这个问题 并且因为这可能应
  • 如何防止加载meteor.local(使用phonegap构建ios应用程序时)

    这是我问的问题的延伸here https stackoverflow com questions 28843616 using meteor app on ipad that was deployed to remote server wi
  • 实体框架表每种类型的性能

    所以事实证明 我是最后一个在实现 TPT 每个类型的表 继承时发现 Microsoft 实体框架中存在的基本层的人 构建了一个包含 3 个子类的原型 基表 类由 20 多列组成 子表由约 10 列组成 一切都运行良好 我继续研究应用程序的其
  • 如何获取对象构造函数的参数名称(反射)? [复制]

    这个问题在这里已经有答案了 假设我以某种方式从其他类获得了对象引用 Object myObj anObject 现在我可以获得这个对象的类 Class objClass myObj getClass 现在 我可以获得该类的所有构造函数 Co
  • 如何在评估 Click cli 函数后继续执行 Python 脚本?

    假设我在文件中定义了一个基本的 click CLI 命令cli py import click click command click option test option def get inputs test option return
  • 将所有工作表中的值替换为新值

    我有大约 40 个电子表格 每个电子表格最多包含 300k 行 x 93 列 当前 大约有 11 亿个数据点 我需要检查每个单元格 并确定单元格是否包含 8 个特殊字符之一 这些字符在电子表格的导入中已被弄乱 这是一项每天需要运行多次的任务
  • React-Bootstrap 导致左侧和右侧有边距

    我在用着React Bootstrap https react bootstrap github io 在我的 React 应用程序中 它导致左侧和右侧有边距 我正在使用以下代码 import React Component from re
  • node.js mongodb - collection.find().toArray(callback) - 回调不会被调用

    我刚刚开始使用 mongodb 但在尝试在集合上使用 find 时遇到问题 我创建了一个数据访问对象 它打开一个特定的数据库 然后让您对其执行操作 这是代码 The 构造函数 var DataAccessObject function db
  • 使用 IntEnum 作为 ctypes.Structure._fields_ 中的类型

    我想成为我的领域之一ctypes Structure一个枚举 这post http www chriskrycho com 2015 ctypes structures and dll exports html建议添加一个from para
  • 调试控制台窗口在调试期间无法接受 Console.ReadLine() 输入

    VSCode 版本 1 8 0 操作系统版本 Win10 x64 重现步骤 使用 dotnet new 创建一个新的 net core cli 应用程序 使用VS代码打开文件夹 在Program cs中添加两行代码 字符串 a Consol
  • Spyder + Python 3.5 - 如何调试内核死机,重新启动?

    我第一次致力于实现一个非常简单的 GUIPyQt5 其中嵌入了一个matplotlib情节和几个交互按钮 我真的不知道如何使用类 所以我犯了很多错误 即即使功能很简单 我也必须在小的更正和验证之间进行大量迭代 出于某种原因 我想调试 但是
  • 问题:gcc 从我的 C++ 生成的程序集

    编译这段代码 int main return 0 using gcc S filename cpp 生成此程序集 file heloworld cpp text globl main type main function main LFB0
  • 带 StickyHeader 的 Sliver 内的 TabBarView

    到目前为止 我已经使用 CustomScrollView 和 Sticky Header 制作了这个布局 https i stack imgur com piwya jpg https i stack imgur com piwya jpg
  • 在 OpenCart 3 中禁用模板缓存以进行开发

    我正在 OpenCart 3 中的主题模板中进行更改 由于模板缓存 我每次都必须在 storage cache 目录下清除缓存 在开发过程中频繁工作和预览更改是非常烦人的 请提供一些解决方案 我们如何根据生产和开发环境配置缓存 注 我已经在
  • 检测开始和停止编辑 UITextView

    如何在进入 UITextView 用户点击以编辑它 和离开视图 用户点击以离开它 时调用一些代码 感谢任何帮助 http developer apple com library ios documentation uikit referen
  • 一台机器上有多个 gitolite 用户

    我已经在远程计算机上设置了 gitolite 并从本地配置了它 我不想让我的活动显示为 admin 并创建用户和密钥 noah 为 noah 创建存储库后 我被拒绝访问 我相信 因为我仍然是 管理员 所以我在一台机器上有两个帐户 我该如何切
  • 如何对每个 WCF 调用进行身份验证和授权?

    我有 WPF 客户端使用 IIS 中托管的 WCF 服务 对于身份验证 我正在考虑证书或用户名身份验证 客户端调用 WCF 中的几个方法并传递一些消息 对于 WCF 接到的每个电话 我 想要验证用户身份 要将消息放入数据库 我必须知道调用者
  • 如何自定义NSToolbar的上下文菜单?

    我需要从右键单击上下文菜单中删除一些项目 但工具栏不包含用于访问 toolbarView 的公共 API 是否可以在不使用私有 API 的情况下自定义菜单 您可以在创建工具栏时访问和修改工具栏上下文菜单 即在 awakeFromNib NS