2010-12-24 3 views
15

Programowo utworzę obiekt NSMenuItem i jest on wyłączony. Jeśli przesłonię metodę validateMenuItem: i zwrócę TAK dla wszystkich elementów, pozycja menu działa poprawnie.wyłączona nsmenuitem

Dlaczego funkcja ta nie jest włączona, gdy mówię menu o autoEnableItems i nie zastępuję metody validateMenuItem:?

NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:label action:@selector(methodToLogSomething:) keyEquivalent:@""]; 
menuItem.representedObject = representedObject; 
[menuItem setTarget:self]; 
[menu insertItem:menuItem atIndex:[[menu itemArray] count]-1]; 
[menuItem release]; 
    [menu setAutoenablesItems:YES]; 

Odpowiedz

27

Wygląda na to, że elementy menu pozostają wyłączone, jeśli ich cel i akcja nie są prawidłowo skonfigurowane. W moim przypadku zapomniałem : na końcu mojego selektora.

+0

Dziękujemy za zamieszczenie odpowiedzi. To mi pomogło !!! – livingtech

+0

To tylko zaoszczędziło mi tyle czasu ... dzięki. –

+1

Zapomniałem ustawić cel za pomocą 'setTarget'. Niepoprawnie skonfigurowany. Dzięki! –