我正在尝试更改我的Cocoa应用程序主菜单中某些项目的标题。我已经尝试在IB中设置它们,也尝试从我的应用程序的applicationDidFinishLaunchingWithOptions:方法中编程。无论哪种方式,我的NSMenuItem对象的title属性都会改变。但是,当应用程序运行时,我的更改没有反映在屏幕顶部的项目的实际标题中。在我的应用程序主菜单中设置项目标题?
任何人都可以解释发生了什么?我该如何改变这一点?
编辑:数据结构是默认的一个IB设置:我已经改变都和与firstItem子菜单的标题属性,是我想要的标题
NSApplication *app = [NSApplication sharedApplication];
NSMenu *mainMenu = [app mainMenu];
NSArray *itemArray = [mainMenu itemArray];
NSMenuItem *firstItem = [itemArray objectAtIndex: 0];
NSMenu *submenu = [firstItem submenu];
。然而默认的一个仍然显示。
它们是独立的`NSMenuItem`实例还是它们是`NSMenu`实例? `NSMenu`保持自己的头衔。 – 2011-02-11 05:12:36
屏幕顶部菜单栏中显示的应用程序的主菜单是NSMenu;但是其每个可见条目 - 例如“应用程序名称”,“文件”,“编辑”,“查看”等 - 是NSMenuItem。每个菜单项都包含一个NSMenu,它是您看到的子菜单。所以这是一个NSMenu,但它是一个“特殊的”,它在菜单栏中水平显示,而不是垂直显示。现在,我希望你可以在显示的模拟菜单栏中双击项目,当你将NIB加载到Interface Builder中并直接在那里设置文本。这不适合你吗? – 2011-02-11 10:52:08
安德鲁 - 我可以改变文字,但它仍然在应用程序中显示相同。 – 2011-02-12 17:24:52