cocoa - 在我的应用程序主菜单中设置项目标题?

标签 cocoa macos nsmenu nsmenuitem

我正在尝试更改 Cocoa 应用程序主菜单中某些项目的标题。我尝试在 IB 中设置它们,并通过我的应用程序的 applicationDidFinishLaunchingWithOptions: 方法以编程方式设置它们。无论哪种方式,我的 NSMenuItem 对象的 title 属性都会改变。但当应用程序运行时,我的任何更改都不会反射(reflect)在屏幕顶部项目的实际标题中。

谁能解释一下这是怎么回事?我怎样才能改变这个?

编辑:数据结构是IB设置的默认结构:

NSApplication *app = [NSApplication sharedApplication];
NSMenu *mainMenu = [app mainMenu];
NSArray *itemArray = [mainMenu itemArray];
NSMenuItem *firstItem = [itemArray objectAtIndex: 0];
NSMenu *submenu = [firstItem submenu];

我已将firstItem 和subMenu 的标题属性更改为我想要的标题。但默认的仍然显示。

最佳答案

不要重命名项目,而是在 your-application-Info.plist 中从 ${PRODUCT_NAME} 更改“ bundle 名称”;随心所欲;此更改将反射(reflect)在主菜单的应用程序菜单项的标题中。

关于cocoa - 在我的应用程序主菜单中设置项目标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4965466/

相关文章:

objective-c - 获取 macOS 默认浏览器名称 - LSCopyDefaultApplicationURLForContentType

cocoa - Mac OS X - 系统偏好设置 Pane 无法打开

macos - 在 mac os x snow leopard 上编译时出现 postgis 错误

javascript - CSS - 如何让 Mac OSX 停靠在 CSS 中?除了高度或宽度之外,还有第三个参数吗?

cocoa - 如何从子菜单中获取 NSMenuItem?

Swift 语法 : UnsafeMutablePointers in CGPDFDocument. getVersion

objective-c - 如何编写 IF ELSE 来检查数组的字符串内容?

windows - 有没有一种简单的方法可以自动截取屏幕截图?

cocoa - NSMenu 不开始跟踪

cocoa - NSTextView看不到主菜单的字体菜单