从 MainMenu 获取特定菜单项

2024-01-05

我有一个包含窗口的笔尖(winA.xib)。我的应用程序委托包含一个名为 WinAController 的 NSWindowController 子类。

WinAController 有一个属性(NSMenu *mainMenu),我想将其指向MainMenu。我在使用以下代码实例化 WinAController 后设置了它:

    WinAController = [[WinAController alloc] initWithWindowNibName:@"WinA"];
    WinAController.mainMenu = [NSApp mainMenu];

我在 MainMenu 上的“Window”顶级菜单项下面有一个菜单项,它调用 [WinAController showWindow] 方法并显示 WinA。我想根据 WinA 是否可见来切换此菜单项的开/关状态。 WinAController 还有另一个属性 (NSMenuItem *myMenuItem)。

如何获取对“窗口”顶级菜单项的子菜单的引用。我想要获取的子菜单项的标题是“命令”。我已经尝试过这个:

    if (mainMenu != nil) {
    myMenuItem = [mainMenu itemAtIndex:[mainMenu indexOfItemWithTitle:@"Command"]];
}

但这似乎不起作用。

我哪里错了?

Thanks,

Edit:我现在已将 WinAController 放置在 mainMenu.xib 中。我已将 WinA 的(在 winA.xib 中)文件的所有者设置为 WinAController 类,但我不知道如何将 WinAController 的窗口 IBOutlet 连接到 WinA,因为它们位于不同的笔尖中!


您可以直接存储对菜单项的引用,可能通过主笔尖中的 IBOutlet。

或者(更好,IMO),你可以实施-validateMenuItem: in WinAController并在那里设置状态(这样,只有当用户实际看到它时才会设置状态):

- (BOOL)validateMenuItem:(NSMenuItem *)item {
    if ([item action] == @selector(showWindow:)]
        [item setState:[winA isVisible] ? NSOnState : NSOffState];

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

从 MainMenu 获取特定菜单项 的相关文章

  • 如何在 UITextView 中禁用放大功能

    我想摆脱 UITextView 中的放大和文本选择 但我需要电话号码 链接和地址检测器 我在用 void addGestureRecognizer UIGestureRecognizer gestureRecognizer if gestu
  • 自定义 UITableViewCell 错误

    我收到此错误 Terminating app due to uncaught exception NSUnknownKeyException reason
  • UIAlertAction 处理程序在延迟后运行

    我正在尝试将 UIAlertViews 更改为 UIAlertControllers 我为此设置了这个操作 UIAlertAction undoStopAction UIAlertAction actionWithTitle Undo St
  • 解析迁移到 mLabs 和 Heroku 的错误

    我至少一年前将解析数据库迁移到 Mlabs 从那时起我就一直在开发该应用程序 解析仪表板表示我已成功迁移 Mlab 和 Parse 都收到了数据库的更新 然而 在过去一两周内 该应用程序不再经过登录页面 没有调整代码 这是服务器问题 以下是
  • WKWebView在后台,几个奇怪的断言

    我想找出iOS中当前浏览器的userAgent 所以在 Xcode 创建的默认项目中我添加了 import ViewController h import
  • 未找到符号,预计出现在平面命名空间 ObjC++ 中

    我可能遇到了一个简单的问题 但是在编译过程中没有任何信息错误或警告来提醒我出了什么问题 我有一个 Objective C 应用程序 其中包含 C 主文件和 ObjC 头文件 它构建得很好 但是当运行时 它会给出以下错误消息 Dyld Err
  • 为什么我无法更改 UIBarButtonItem 的标题?

    我想改变UIBarButtonItem s title 但这段代码不起作用 void viewDidLoad self smay void smay AppDelegate apd AppDelegate UIApplication sha
  • Xcode 服务器 ibtool 构建失败

    我一直在研究使用 Xcode Server 进行 CI 我已经解决了一些问题 但现在有一个问题困扰着我 构建似乎工作正常 但在测试阶段挂起 并在日志底部生成以下内容 2015 11 25 14 44 45 650 xcodebuild 58
  • 使用 UIWebView 显示 PDF 不起作用

    因此 我意识到有关使用 UIWebView 在应用程序 在 iPad 上 中显示 PDF 存在很多问题 我已经审查了我能找到的所有内容 但似乎找不到任何满意的东西 我想做的事情非常基本 所以我真的不知道为什么它不起作用 我需要做的就是在 U
  • 如何在 iOS 6 中强制 UIViewController 为纵向

    As the ShouldAutorotateToInterfaceOrientation在 iOS 6 中已弃用 我用它来强制特定视图仅肖像 在 iOS 6 中执行此操作的正确方法是什么 这仅适用于我的应用程序的一个区域 所有其他视图都可
  • 如何将NSTextView的格式化内容转换为字符串

    我需要将 NSTextView 的内容从 Mac 应用程序传输到 iOS 应用程序 我使用 XML 作为传输文件格式 所以我需要将 NSTextView 的内容 文本 字体 颜色等 保存为字符串 有什么办法可以做到这一点吗 一种方法是存档
  • 播放循环声音的最简单方法是什么?

    在 iPhone 应用程序中播放循环声音的最简单方法是什么 可能最简单的解决方案是使用AVA音频播放器 http developer apple com library ios DOCUMENTATION AVFoundation Refe
  • GCD 与自定义队列

    我想知道这两者的性能有什么区别 dispatch async dispatch get global queue DISPATCH QUEUE PRIORITY HIGH 0 perform complex operation dispat
  • CLOCKS_PER_SEC 与 std::clock() 的结果不匹配

    我正在使用以下短程序来测试std clock include
  • 如何在应用程序中从 Xcode 的“支持文件”组访问文件?

    我有一个应用程序 现在我几乎已经完成了 在数据输入流程结束时发送电子邮件 发送两个 pdf 文件 其中一个是根据输入的数据生成的 另一个是静态文件 在每个实例中都相同 第一个 pdf 生成正常 它已保存到应用程序的 文档 文件夹中 并且我已
  • 通过 IOS Google Drive SDK 列出 Google Drive 的所有文件夹

    实际上我将 google drive sdk 与我的 ios 应用程序集成了 我可以通过适用于 iOS 的 google drive sdk 在 Google Drive 上上传指定文件 此外 我想提供一个功能 用于从可用文件夹中选择一个文
  • iOS 应用程序中的屏幕共享? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想与运行相同应用程序的其他设备共享
  • iOS 13:MPMediaPickerController - 内部错误/找不到请求的应用程序扩展

    看来一般MPMediaPicker在 ios13 ipad air 2 iphone SE 上不再工作 从那里复制的示例 1 1 没有显示媒体选择器https developer apple com documentation mediap
  • Xcode 7 调试器不会中断内联标头函数

    过去五年我一直在各种 C 项目中使用 Xcode 没有出现这个问题 今天 我打开了一个较旧的项目 大约 2 年前 并尝试通过在该函数中放置一个活动断点来调试头文件中的内联函数 由于某种原因 调试器不会中断此代码 但是 如果我在调用该函数的
  • 用于在某个日期或活动打开 iCal 应用程序的 URL 方案?

    Apple URL 方案参考 https developer apple com library ios featuredarticles iPhoneURLScheme Reference Introduction Introductio

随机推荐

  • 在 .net 异常中如何获取带有参数值的堆栈跟踪

    我正在尝试在 net c 中添加一个未处理的异常处理程序 该处理程序应该对 用户 尽可能有帮助 最终用户主要是程序员 因此他们只需要提示他们操作错误的对象 我正在开发一个类似于应用程序崩溃时的 Windows XP 错误报告的 Window
  • 如何添加键盘快捷键以从文件资源管理器打开文件夹上的 VS Code?

    我希望能够按 在文件资源管理器中的任何文件夹中 然后在该文件夹上打开 Visual Studio Code 与右键单击 用代码打开 效果相同 紧迫 就像我在 GitHub 网站上所做的那样 这可能不是正式可行的 但是有什么解决方法可以使其发
  • 带有滚动功能的 jQuery Mobile 列表视图描述

    我有一个带有一些长标题的列表视图 它自动隐藏在小屏幕显示器上 并用 修复了帖子 我不确定如果整个标题没有显示在屏幕上 是否可以使这些长描述标题滚动 jsFiddle 上的示例 http jsfiddle net yVtVE 16 div d
  • 构建和处理具有不同行的列表视图的最佳方法

    在我的应用程序中 我在列表视图中显示数据 如下所示 列表视图中的每一行都是不同的 即 它们具有不同的视图结构 但每一行都由 1 到多个子视图组成 所有子视图都是相同的 问题 如果尝试从 xml 中增加行 那么我需要使用 xml 1 2 个子
  • BigQuery 字符串到时间戳,在源中保留时区

    我看过其他类似的帖子 不确定他们是否明确地回答了这个问题 也许他们确实回答了这个问题 很抱歉 如果我错过了任何可以回答这个问题的观点 我有一根绳子 2017 06 16T10 34 57 705 01 00 如何将其从字符串转换为 时间戳
  • 使用 Take 和 Skip 的 ASP.NET MVC 分页

    编辑 这个问题已经变得多余 因为大部分代码从使用存储库更改为仅使用控制器 作业 MVC 分页帮助 https stackoverflow com questions 4662611 mvc pagination help Cameron 我
  • jQuery:实际的div宽度

    我有两个 div 一个嵌套到另一个中 定义如下 div class wrapper div class content Content div div The css div wrapper width 660px overflow hid
  • 在一个图中绘制多个时间序列的 acf

    我正在尝试改变 R 中生成的 acf 图 但没有运气 我的目标是在一个图中绘制多个自相关 而不是使用标准直方图 我想将自相关绘制为使用不同颜色的线 因此很容易区分不同的自相关 该图还应包括 95 置信区间 如图所示 我的目标看起来像这样 编
  • WMI 逻辑磁盘与磁盘分区的关联

    我正在尝试整理一个列表 其中显示我的计算机系统中的所有 LogicalDisk 实例以及它们关联的驱动器号 编码采用 C WMI 类Win32 LogicalDisk分区 Win32 磁盘分区 and Win32 逻辑磁盘似乎是完成这项工作
  • 停止提交空表单 PHP

    我一直在尝试实现服务器验证以防止 联系我们 页面中出现空白电子邮件 但我不确定如何在 PHP 中执行此操作 这是我的代码
  • 鉴于所有调用都是异步的,如何在 lambda 中构建顺序 AWS 服务调用?

    我有 Java 背景 所以对 Lambda 所需的 Javascript 约定有点新手 我有一个 lambda 函数 它旨在按照特定顺序执行多个 AWS 任务 具体取决于前一个任务的结果 鉴于每个任务都异步报告其结果 我想知道是否有正确的方
  • 在android中过滤ListView时检查了错误的项目

    我有一个带有多项选择条目的 ListView 其中一些条目从一开始就使用进行检查 setItemChecked position true 我将其与过滤选项结合起来 setTextFilterEnabled true 因此很容易在列表中找到
  • 无法找到 Java 运行时 Android Studio Robolectric

    我已将 Robolectric 添加到 Android 项目中 我在 19 0 1 中使用带有构建工具的 Android Studio 我可以运行测试 gradlew test 哪个执行得很好 如果我尝试 gradle installDeb
  • Artifactory 大型下载失败

    我的连续传奇 I have Artifactory 专业版 5 8 4运行在CentOS 7 4使用 Artifactory 内置的系统Nginx作为反向代理的服务 大多数时候 在下载大对象时 连接失败 此外 在失败的连接中传输的最后几千字
  • 我可以在 XtraGrid 上将行单元格值设置为只读吗?

    如何在 XtraGrid 上使特定行单元格只读 不可编辑 例如 仅适用于 row 0 但不是所有行 您可以使用GridView CustomRowCellEdit http documentation devexpress com Wind
  • 警告:您将留下 1 个提交,未连接到任何分支

    Egit再次出击 我犯了一个错误 试图切换到 EGit 中的另一个分支 结果不知何故搞砸了 没有检查到任何分支 然后我对这个非分支进行了提交 然后当我意识到我没有跟踪正确的分支时 我运行了以下命令 git checkout issue2 W
  • css 标签的 html head 之间的有效区别?:@import url 与 link href

    之间是否存在有效差异 and 浏览器的行为是否有所不同 w3c等推荐什么 您应该使用的原因有几个代替 import 其中 2 个是 Using import可能会导致下载方式出现意外的排序 The import可能会导致空白白屏问题 htt
  • 嵌套宏扩展

    我不确定这是否是正确使用的术语 但是我的问题是宏调用 PLUGIN NAME 作为另一个宏调用 IMPLMENT MODULE 的参数 这反过来将其打印为字符串 打印该参数作为宏调用 somePLUGIN NAME 而不是扩展结果 some
  • 将 MySQL 查询结果显示为每行 HTML 表

    我尝试搜索 但没有找到任何对我有帮助的内容 所以我创建了一个新线程 我有一个包含多个列的 MySQL 数据库 每行都是一个项目的一组单独的数据 现在我已经设法将其显示得非常接近我想要的内容 但是为了获得更好的视图 我需要将其格式化为两列表
  • 从 MainMenu 获取特定菜单项

    我有一个包含窗口的笔尖 winA xib 我的应用程序委托包含一个名为 WinAController 的 NSWindowController 子类 WinAController 有一个属性 NSMenu mainMenu 我想将其指向Ma