我有一個稱爲歷史的NSMenuItem,它位於NSMenu調用的菜單中。當我的程序啓動時,歷史記錄沒有子菜單,因此它被禁用。然後在某個時候,我需要一個歷史的子菜單,所以我創建它,使其成爲歷史的子菜單。一個箭頭出現在歷史旁邊,告訴我子菜單在那裏。但歷史仍然殘廢。我試過setEnabled但不起作用。請幫忙。這裏我的代碼:NSMenuItem未啓用?
這是當我創建我的菜單和歷史,你可以看到一個NSMenuItem菜單。
menu = [[NSMenu alloc] initWithTitle:@"Menu"];
[[menu addItemWithTitle:@"History" action:nil keyEquivalent:@""] setTarget:self];
[[menu addItemWithTitle:@"Settings" action:@selector(loadSettings:) keyEquivalent:@""] setTarget:self];
[[menu addItemWithTitle:@"Quit" action:@selector(terminateApp:) keyEquivalent:@""] setTarget:self];
此時,歷史記錄被禁用(變灰)。 然後在程序的某個地方,我需要有對歷史如此的子菜單:
if (historyMenu == nil) {
historyMenu = [[NSMenu alloc] initWithTitle:@"Lyrics history"];
[menu setSubmenu:historyMenu forItem:[menu itemWithTitle:@"History"]];
}
我現在看到的歷史旁邊的箭頭,但它仍然是灰色的。
請大家幫忙,我一直試圖弄清楚最近2小時的情況。謝謝。
謝謝你做了,但是如果我不設置操作方法怎麼辦?事實上,我甚至不需要設定目標,我不知道爲什麼我在那裏。無論如何,我會嘗試你所說的,謝謝你的幫助。 – user635064 2011-02-26 01:49:01