我正在嘗試更改我的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