Cocoa 应用程序菜单栏不可点击

2024-06-20

我正在我的可可应用程序中构建一个菜单栏,其中包含以下代码@implementation我的自定义应用程序CustomApplication:

+(void) setUpMenuBar
{
  [CustomApplication sharedApplication];

  // Main menu
  NSMenu* mainMenu = [NSApp mainMenu];
  if (mainMenu != nil) return; // We set it already
  mainMenu = [[[NSMenu alloc] initWithTitle:@""] autorelease];
  [NSApp setMainMenu:mainMenu];

  // Application menu
  NSMenuItem* appleItem = [mainMenu addItemWithTitle:@""
                                              action:nil
                                       keyEquivalent:@""];

  NSString* appName = @"MyApp";

  NSMenu* appleMenu = [[NSMenu alloc] initWithTitle:@""];

  // Apple menu
  [appleMenu addItemWithTitle:[@"About " stringByAppendingString:appName]
                       action:@selector(orderFrontStandardAboutPanel:)
                keyEquivalent:@""];

  // Quit
  [appleMenu addItemWithTitle:[@"Quit " stringByAppendingString:appName]
                                        action:@selector(terminate:)
                                        keyEquivalent:@"q"];

  [appleItem setSubmenu:[appleMenu autorelease]];
}

启动时,我的应用程序获得焦点,但菜单栏不可点击。 但是,如果我单击窗口并再次单击窗口(将焦点返回到应用程序),它将变得可单击并正常工作。

我错过了什么?


UPDATE

当我创建应用程序时会调用此方法,如下所示。[UPDATE]这就是我开始申请的内容。它实际上是从任何外部的 ocaml 绑定中调用的第一件事@implementation一个类的。

CustomApplicationDelegate* delegate = [CustomApplicationDelegate new];

[CustomApplication sharedApplication];
[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
[NSApp activateIgnoringOtherApps:YES];

[[NSApplication sharedApplication] setDelegate:delegate];

[CustomApplication setUpMenuBar];

[[CustomApplication sharedApplication] finishLaunching];

好的,感谢@bhaller 的评论,我能够解决我的问题。

实际上,我将电话转接到代表,如下所示。

-(void)applicationWillFinishLaunching:(NSNotification *)aNotification
{
  [CustomApplication sharedApplication];
  [CustomApplication setUpMenuBar];
  [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
}

-(void)applicationDidFinishLaunching:(NSNotification *)notification
{
  [CustomApplication sharedApplication];

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

Cocoa 应用程序菜单栏不可点击 的相关文章

  • 多对多关系中的 KVO 对象属性

    我有一个核心数据对多关系 由父 gt 子组成 我想设置一个键值观察机制 以便当任何子对象上的属性 例如 firstName lastName 发生更改时 它会触发通知 使用标准 KVO 语法时 self parentObject addOb
  • NSPredicateEditor 行模板不可在界面生成器中配置

    我正在界面生成器的故事板中创建一个辅助表 viewController 包含一个NSPredicateEditor并使用 cocoa 绑定连接到 viewController 的属性 但是 我无法正确配置行模板 当我取消选中其中一个谓词运算
  • 我可以在 Mac OS X 上将 enthought python 重新链接到新版本的 openssl 吗?

    今天早上 我在 Mac OS X 10 6 8 上使用 EPD 7 3 时遇到了与 SSL 相关的问题 当我运行 pip 版本 1 3 1 时 我得到 pip install requests Downloading unpacking r
  • Cocoa 常量名称中的“k”代表什么[重复]

    这个问题在这里已经有答案了 可能的重复 Apple 的 API 中的 k 前缀表示什么 https stackoverflow com questions 675816 what does the k prefix indicate in
  • 无法在 mac 屏幕保护程序发布版本上加载图像(它适用于 Xcode 调试版本)

    我从这里得到了这个 mac 屏幕保护程序示例here https github com elpsk PaskySaver 我将其更改为显示图像而不是文本字段 问题是这样的 它可以显示任何 Xcode 对象 例如 textView textF
  • 从 iPhone 上的 NSString 中删除 HTML 标签

    有几种不同的方法可以删除HTML tags从一个NSString in Cocoa One way http cocoa karelia com Foundation Categories NSString Flatten a string
  • Pythonlibs3 CMake 和 macOS

    更新2 将以下两行添加到我的 CMake 文件中时 成功找到了 python 3 及其库 这只在终端中工作的原因是因为 CLion 使用其捆绑版本的 CMake 3 6 3 而我的终端使用的更新版本 3 7 2 正确找到了 python F
  • Swift 和 Objective-C 框架公开其内部结构

    我正在尝试将 Swift 添加到具有公共 私有和项目文件的现有 Objective C 框架中 为了让 Swift 能够访问项目文件 我添加了一个定义新模块的模块映射 例如MyFramework Internal 通过包含所有项目标题 如下
  • 如何阻止我的应用程序设置“隔离”位?

    从 OS X 10 7 3 开始 我的文本编辑器就在它接触的任何文件上设置 隔离 位 我的文本编辑器设计用于处理 shell 脚本 如果设置了隔离位 则无法从命令行执行 shell 脚本 直到您在 Finder 中双击它并浏览 此应用程序是
  • Mac 上使用 Excel VBA 进行正则表达式

    我需要将 regEx 与 Excel VBA 一起使用 我使用的是 Mac OS 10 10 和 Office 2011 因此没有可以使用的 DLL 文件 这里有什么可做的 我读到我必须绑定一个苹果脚本 这是如何完成的以及该脚本需要什么内容
  • 使 Swift 类符合需要 init 的协议

    我有以下内容protocol in Swift protocol FooConvertible typealias FooType init foo FooType 我会做Swift类在类定义中符合它 class Bar FooConver
  • 在 MACOSX 上找不到“Python.h”文件,如何解决这个问题?

    pip3 安装 PyAudio 0 2 12默认为用户安装 因为普通站点包不可写 收集PyAudio 0 2 12 使用缓存的 PyAudio 0 2 12 tar gz 42 kB 安装构建依赖项 完成 获取建造轮子的要求 完成 准备元数
  • 使用 UINavigationController 从右向左推送 ViewController

    大家都知道UINavigationController从左到右推送ViewController 有没有办法从右到左推送View 就像后退按钮的动画一样 现在我有这个 self navigationController pushViewCon
  • 如何在 iPhone 应用程序的 url 中传递字符串值

    NSURLRequest request NSURLRequest requestWithURL NSURL URLWithString http www krsconnect no community api html method ba
  • 核心数据:解决一个奇怪的 EXC_BAD_ACCESS 错误

    我在核心数据方面面临着一个非常奇怪的问题 我们来描述一下 定义 假设我有两个模型 ModelA and ModelB 在数据模型中ModelA有参考ModelB作为一对多关联 因此ModelB与 具有一对一关联ModelA Update 当
  • 我如何知道 UITableView 何时完成 ReloadData?

    我试图在执行完成后滚动到 UITableView 的底部 self tableView reloadData 我原本有 self tableView reloadData NSIndexPath indexPath NSIndexPath
  • NSMutableData 删除字节?

    我可以使用以下命令轻松地将字节添加到 NSMutableData 实例appendData方法 但是我没有看到任何类似的删除数据的方法 我是否忽略了某些内容 或者我是否需要创建一个新对象并仅复制我需要的字节 请参阅以下方法的文档 void
  • UIAlertView 中的 MPVolumeView?

    是否可以将 MPVolumeView 放入 UIAlertView 中 我已经尝试过put它在里面 但不显示 这可能是sizeToFit or initWithFrame 部分 有没有办法测试是否MPVolumeView实际上正在被创建吗
  • 将 HTML 字符串加载到 UIWebView 中的延迟

    我在导航控制器中有两个视图控制器 第一个视图控制器有一个带有按钮的菜单 按下此按钮将移动到第二个视图控制器并将 html 字符串加载到 UIWebView 中 没有其他东西被加载到 webview 中 只是一个简单的 NSString 其中
  • Apple 推送通知徽章编号

    我开发了服务器端应用程序 以在收到新通知后将徽章编号维护为递增或递减 并在看到通知后删除它工作正常 但是显示徽章时存在一些问题 实际情况是 在设备上收到新通知后 我单击取消按钮 然后徽章编号正确显示 但之后我将打开应用程序并关闭应用程序徽章

随机推荐

  • 如何从 TeamCity 提取工件?

    我想从 teamcity 中提取工件 我一直在尝试使用 c 和 HtmlAgilityPack 访问网站并查找最新版本及其工件 我目前陷入登录困境 我想我只需要发送会话 Cookie 即可 我的方向正确吗 还有其他人尝试过吗 我意识到使用构
  • 如何为从源文件编译的应用程序分配自定义图标?

    在我的程序中 我使用 CSharpCodeProvider 来从源文件编译另一个应用程序 我使用的代码如下 public static bool CompileExecutable String sourceName FileInfo so
  • 最小化代表性整数的误差之和

    Given n integers between 0 10000 as D1 D2 Dn where there may be duplicates and n can be huge I want to find k distinct r
  • 在 Celery 任务中调用 Google Cloud API 永远不会返回

    我正在尝试拨打外部电话Google Cloud Natural Language API从一个内Celery任务 使用google cloud python包裹 问题是对 API 的调用永远不会返回 挂起 celery task def g
  • NSTextField 字体样式在选择时重置

    Context 在 Interface Builder 中 我有一个不可编辑的标签 NSTextField 标签的内容是使用 Cocoa Bindings 创建的 绑定的值是NSAttributedString 使用数值转换器创建 看图片
  • ASP.NET预编译的优点是什么?

    使用 Aspnet compiler exe 代替通过 Visual Studio 进行的传统发布有多有用 那么资源 resx 文件又如何呢 与简单的 xcopy 相比 预编译有两个主要优点 文件系统不会包含所有代码 aspx文件和后面的所
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 如何使指针指向二维数组的任意数组元素?

    言归正传 我想要字符指针p指向唯一包含字符 的数组元素T char a 100 100 char p for int i 0 i lt 4 i for int j 0 j lt 4 j if a i j T p a i j 附 我尝试了各种
  • 如何从模拟器启动中删除“-no-boot-anim”标志?

    我正在使用 VS 15 4 预览版 2 来测试 Android 8 0 的一些功能 我正在尝试将我的应用程序启动 调试 到 AVD 模拟器中 但打开后模拟器窗口中出现空白黑屏 我注意到从 VS 输出打开模拟器的命令是 2 gt Starti
  • Windows:更改与文件类型关联的应用程序的名称/图标

    我想将 Windows 中的文件类型与特定应用程序相关联 但我需要这样做 以便当用户打开 打开方式 菜单时 列表中应用程序的名称和图标是针对该文件类型自定义的 即 不仅仅是可执行文件的名称和图标 这是因为该二进制文件是一个通用二进制文件 可
  • 如何将 InputScope 属性添加到 WinRT 中的 PasswordBox?

    如何将输入范围属性添加到我的用户控件的密码框 请你给我解释一下好吗 Thanks 根据我掌握的信息 PasswordBox 在 winrt 中没有输入范围属性 因此您无法直接设置它 如果你想这样做 你必须制作单独的自定义控件 要定义您自己的
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 多处理器机器中秒表的最佳实践?

    我找到了一个好的question https stackoverflow com questions 28637 is datetime now the best way to measure a functions performance
  • PHPUnit 在 IDE 中工作,但服务器说找不到类

    我在 PhpStorm 中使用 Symfony3 插件 我的 PHP 解释器是 7 0 18 我在 PhpStorm 中配置了 PHPUnit 6 3 0 phar文件位于我的项目的根目录中 单元测试就像 IDE 中的魅力一样工作 但在服务
  • 最小的有效 PDF 是多少?

    出于简单的好奇心 看到了最小的 GIF http probablyprogramming com 2009 03 15 the tiniest gif ever 最小的有效 PDF 文件是多少 这是一个有趣的问题 按照书本 你可以从以下开始
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • Windows 上良好的 Oracle 数据库开发和管理工具 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找像 sql server management studio 这样的 Oracle 数据库管理工具 我在互联网上搜索并在以下链接
  • 在 flutter 中强制重建有状态子部件

    假设我有一个主屏幕 有状态小部件 其中有一个变量count作为状态 在此主屏幕中 有一个按钮和另一个有状态小部件 我们称之为MyListWidget MyListWidget初始化它自己的小部件initState取决于的值count多变的
  • Cocoa 应用程序菜单栏不可点击

    我正在我的可可应用程序中构建一个菜单栏 其中包含以下代码 implementation我的自定义应用程序CustomApplication void setUpMenuBar CustomApplication sharedApplicat