以编程方式创建带有 NSMenuItems 的 NSMenu?

2023-11-26

首先,我想指出这个问题可能已经被问过,我只是找不到他们的任何答案。

因此,我正在尝试以编程方式为主栏创建 NSMenu 和 NSMenuItem,所以 fe. NSMenu 将是文件,然后它会包含 3x NSMenuItem,新建、打开和保存。

但没有任何作用,这就是我目前所拥有的:

NSMenu *fileMenu = [[NSMenu alloc] initWithTitle:@"File"];
NSMenuItem *newMenu = [[NSMenuItem alloc] initWithTitle:@"New" action:NULL keyEquivalent:@""];
NSMenuItem *openMenu = [[NSMenuItem alloc] initWithTitle:@"Open" action:NULL keyEquivalent:@""];
NSMenuItem *saveMenu = [[NSMenuItem alloc] initWithTitle:@"Save" action:NULL keyEquivalent:@""];
[newMenu setMenu:fileMenu];
[openMenu setMenu:fileMenu];
[saveMenu setMenu:fileMenu];

但没有任何反应,我很确定我必须告诉应用程序它应该使用 fileMenu,但我该怎么做,如果这不是问题,那么是什么?我对这方面还很陌生,但对学习很感兴趣,所以任何提示都比没有好!


设置菜单时,您设置的是该项目显示的菜单,而不是其父菜单。

要将这三个项目添加到菜单中,请使用:

[fileMenu addItem: newMenu];
[fileMenu addItem: openMenu];
[fileMenu addItem: saveMenu];

然后将菜单添加到菜单栏:

NSMenuItem *fileMenuItem = [[NSMenuItem alloc] initWithTitle: @"File"];
[fileMenuItem setSubmenu: fileMenu]; // was setMenu:
[[NSApp mainMenu] addItem: fileMenuItem];
[fileMenuItem release];

每个菜单拥有多个菜单项;一个菜单项可以负责一个子菜单;所有这些菜单都通过以下方式锚定到 UI[NSApp mainMenu].

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

以编程方式创建带有 NSMenuItems 的 NSMenu? 的相关文章

  • 似乎无法在 NSMenuItem 上 setEnabled:NO

    我已经子类化了NSMenu并连接了一堆NSMenuItem通过界面生成器 我已经通过调试器进行了测试 看看它们确实得到了初始化 菜单设置为不自动启用项目 仍然当我将任何 NSMenuItem 设置为 myMenuItem setEnable
  • 在 Objective C 中获取第一响应者

    我无法弄清楚哪个UITextField是当前的第一响应者 我想做的是 如果用户单击特定的内容 则设置一个布尔值UITextField 因此 要做到这一点 我需要能够判断这个特定的文本字段是否已成为第一响应者 我知道如何设置第一响应者 但只是
  • NSTableView 如何通过代码设置内容模式(基于视图或基于单元格)?

    如题 NSTableView 如何通过代码设置内容模式 基于视图或基于单元格 感谢您的帮助 NSTableView默认为基于单元的 这对于向后兼容性是有意义的 当表视图委托实现时 表视图是基于视图的 tableView viewForTab
  • 使用 NSMutableDictionary 与 NSMutableArray 造成的性能损失>

    我正在考虑使用 NSMutableDictionary 代替我当前的 NSMutableArray 这主要是出于 KVC KVO 的原因 该集合将在我的绘图方法的内循环中经历严重的变化 如果我继续进行此替换 性能是否会受到重大影响 干杯 道
  • 给 NSWindow 一个背景图片

    好的 我已经在 Photoshop 中创建了一个图像 该图像将与我的应用程序上的按钮对齐 现在我想将其作为窗口的背景图像 以便图像上的字符将对应于我的应用程序上的按键应用程序 我一直在开发的一个小型计算器演示应用程序 基本上 我没有给按钮提
  • 阻止 OpenGL.framework 在 Cocoa 应用程序中加载

    我的应用程序链接到这些框架 Cocoa Framework AppKit Framework CoreData Framework Foundation Framework 请注意 OpenGL Framework 是NOT已链接 但是 设
  • 在android中的操作栏中标题左侧添加图标

    我想在操作栏中标题的左侧添加一个可点击的图标 按钮 怎么做 以下是我向操作栏添加搜索和设置图标的代码 它们出现在右侧 但我想在标题左侧添加一个新图标 怎么做 XML menu menu
  • NSMenuItem 中的自定义 NSView 未接收鼠标事件

    我使用 popUpStatusItemMenu 从 NSStatusItem 中弹出一个 NSMenu 这些 NSMenuItems 显示了一堆不同的链接 每个链接都通过 setAction 连接到目标的 openLink 方法 这种安排长
  • Objective-C 字符串文字的预处理器宏值

    我在构建设置中定义了一个预处理器宏 FOO BAR 我想将该值转换为可以传递给方法的 Objective C 字符串文字 以下 define 不起作用 但它应该展示我想要实现的目标 define FOOLITERAL FOO want FO
  • WebView 不运行 loadHTMLString 中给出的 JavaScript

    我不明白为什么这不起作用 我的桌面上有一个 test htm 文件 如下所示 This is x 2 我有一个 WebVie
  • 在 Cocoa/Carbon 下调试 NULL CGContext

    在执行程序期间 我在 XCode 调试控制台中得到以下输出
  • 每个 CPU 核心处于 C0 电源状态的时间

    任何帮助弄清楚如何做到这一点都会很棒 在过去一秒内 每个 CPU 核心处于 C0 电源状态的时间有多少 这是针对 Mac 应用程序的 因此需要 Objective C cocoa 和 c OS X 没有任何公开 CPU c 状态的 API
  • 如何从 Xcode 4 中的实体创建用户界面?

    我已经用核心数据进行了几天的实验 并且在过去的几个小时里尝试找出如何从 xcode 4 中的实体创建 UI 根据我一直在阅读的书籍 您必须选择将核心数据实体拖到界面生成器中的窗口中 但是当我在 xcode 4 中执行此操作时 没有任何反应
  • 使用 Swift 创建 NSAlert

    我有在 Objective C 中创建和 NSAlert 的代码 但我现在想在 Swift 中创建它 该警报旨在确认用户想要删除文档 我想要 删除 按钮来运行删除功能 而 取消 按钮只是为了消除警报 我怎样才能用 Swift 写这个 NSA
  • [[NSMutableDictionary alloc] initWithObjects:...] 和 [NSMutableDictionary DictionaryWithObjects:...] 之间的区别?

    仍在学习 Objective C iPhone SDK 我想我知道为什么这不起作用 但我只是想确认一下 In awakeFromNib 如果我使用 NSMutableDictionary alloc initWithObjects 它实际上
  • 如何从 DTrace 脚本打印 NSString

    This question https stackoverflow com questions 1413623 how do i print a cfstringref in a dtrace action正在问同样的事情 但是当我尝试时
  • 如何用Block简化回调逻辑?

    假设我需要与一个提供协议的类进行通信 并在操作完成时调用委托方法 如下所示 protocol SomeObjectDelegate required void stuffDone id anObject void stuffFailed e
  • iOS 使用 NSColor 与 UIColor?

    有什么区别UIColor and NSColor 什么时候会使用每一种 我碰到NSColor在试图弄清楚的同时UIColor用于 iOS 中的属性字符串 我理解使用UIColor对于 UIKit 等 但我不认为NSColor对于这种事情确实
  • Tkinter 菜单删除项

    如何删除任何菜单项 例如我想删除 播放 self menubar Menu self root self root config menu self menubar self filemenu2 Menu self menubar self
  • 如何在可编写脚本的应用程序中将任意 AppleScript 记录传递给 Cocoa?

    我有一个 Cocoa 应用程序 其中包含 sdef XML 文件中描述的 AppleScript 字典 sdef 中定义的所有 AppleScript 类 命令等都是工作属性 除了我的 提交表单 命令 提交表单 命令是我尝试将任意信息哈希表

随机推荐

  • 捕获隐藏桌面的屏幕截图

    我在 Windows 上使用虚拟桌面 使用我自己用 C 编写的简单应用程序 我想知道是否有办法捕获辅助 隐藏桌面的屏幕截图 我知道我可以执行 SwitchDesktop gt 捕获屏幕截图 gt SwitchDesktop 但这听起来不是一
  • 服务器端视频转换和压缩

    我想为我的 CMS 客户提供自动视频转换器 他们应该能够上传他们的 未修改的 视频文件 MP4 VMV AVI 我的服务器会将其压缩并转换为网络友好的 MP4 文件 与 YouTube 完全一样 结果很清楚 网络友好的 MP4 格式 压缩到
  • Service Worker 和 AJAX

    我正在尝试使用 AJAX 检索要在用户端显示的推送通知的详细信息 但它还不起作用 Push Notifications codelab Copyright 2015 Google Inc All rights reserved Licens
  • 不支持文化

    我使用的是 Visual Studio 2012 旗舰版 我遇到了这个错误 我不知道如何解决它 不支持文化 参数名称 名称 en UK 是无效的区域性标识符 描述 执行期间发生未处理的异常 当前的网络请求 请查看堆栈跟踪以了解更多信息 有关
  • 如何更改Python模块名称?

    只有重命名文件才可能吗 或者有没有一个 module 变量到文件来定义它的名称是什么 如果您确实想使用 import newname 语句导入文件 oldname py 有一个技巧可以实现这一点 导入模块某处使用旧名称 然后将其注入sys
  • PipedInputStream 和 PipedOutputStream 的用例

    管道流的用例有哪些 为什么不将数据读入缓冲区然后将其写出 BlockingQueue 或类似的集合可能会更好地为您服务 它们是线程安全的 健壮的并且可扩展性更好
  • 对象/数组的深度比较[重复]

    这个问题在这里已经有答案了 可能的重复 如何确定两个 JavaScript 对象相等 JavaScript 中的对象比较 如果我有两个数组或对象并且想要比较它们 例如 object1 shoes loafer penny beers bud
  • 如何在我的 java 项目中引用 Maven 依赖项的单元测试类? [复制]

    这个问题在这里已经有答案了 我需要在项目 A 的测试包 src test java 中引用项目 B 中的一些 JUnit 测试 src test java 而 B 是 A 的 Maven 依赖项 这可能吗
  • angular2 - 将值从父路由传递到子路由

    我有一条名为 home 的路线 它有 3 个子路线 文档 邮件和垃圾 在主路由组件中 它有一个名为 user 的变量 我知道有几种方法可以在突出显示的父组件和子组件之间传递信息here 但是我该如何在父 子路由之间传递信息 path hom
  • BottomSheet 的滚动问题 - Android

    我需要BottomSheet停在两个位置 我有以下代码BottomSheet
  • 使用 AJAX 的 WordPress 自定义元框输入值

    我正在使用 Wordpress 3 5 我有一个带有元框和一些输入字段的自定义帖子 sp product 这些输入之一 sp title 我想通过在输入 sp title 字段中输入来按自定义帖子标题名称进行搜索 当我按下添加按钮 也在我的
  • 无法运行程序“adb”:错误=13,权限被拒绝

    我有一个程序 它必须只执行一个命令 class MainActivity AppCompatActivity override fun onCreate savedInstanceState Bundle super onCreate sa
  • 如何在 JavaScript 中将 JSON 对象字符串化为负零?

    如何使用 JSON stringify 将负零转换为字符串 0 看来 JSON stringify 将负零转换为表示正一的字符串 有什么好的解决方法吗 var jsn negative 0 isNegative jsn negative d
  • Facebook PHP SDK 异常错误

    我从 FB 的 PHP SDK 收到一条有趣的 SDK 异常消息 我完全按照 FB 文档所说的那样设置了我的代码 调试错误消息 12 Jun 2014 21 08 12 UTC PHP Fatal error Uncaught except
  • Symfony 4 - 路由:“在此服务器上找不到请求的 URL”

    这是我的第一篇文章 所以我会尽力做到可以理解 我从 symfony 开始 有一个问题我无法单独解决 这是我的控制器 我正在使用 WAMP 当我的网址是 mysite local 时 它正常工作 并且它向我显示它应该做什么 感谢 home 函
  • 如何从docker容器保存日志文件?

    我有一个在 docker machine 上运行的 weblogic 容器 它使用 docker toolbox 在 Windows 7 上运行 并且希望将容器中的日志自动保存到 Windows 机器 我知道我可以使用docker cp命令
  • 使用 SWT 创建自定义按钮

    我想问同样的事情这个问题但使用SWT 有没有办法用自己的按钮图形制作按钮 而不仅仅是在按钮内添加图像 如果不是 还有另一种在java中创建自定义按钮的方法吗 public class ImageButton extends Canvas p
  • 将 hdf5 matlab 字符串加载到 Python 中

    我在使用 Python 读取 hdf5 matlab 7 3 文件时遇到麻烦 我正在使用 h5py 2 0 1 我可以读取文件中存储的所有矩阵 但无法读取字符串列表 h5py 将字符串显示为形状 1 894 类型 04 的数据集 该数据集包
  • 使用 jQuery 对表列进行拖放排序

    我正在使用 jQuery 来驱动我的 AJAX UI 我有一个数据表 我希望允许用户通过拖放来重新排序表中的列 我希望用户能够抓住列的标题并移动它 下面应该是下面的数据行 请注意 我是not对数据排序或对行重新排序感兴趣 但希望允许用户更改
  • 以编程方式创建带有 NSMenuItems 的 NSMenu?

    首先 我想指出这个问题可能已经被问过 我只是找不到他们的任何答案 因此 我正在尝试以编程方式为主栏创建 NSMenu 和 NSMenuItem 所以 fe NSMenu 将是文件 然后它会包含 3x NSMenuItem 新建 打开和保存