Mam element menu w głównym menu aplikacji i chciałbym skierować jego działanie do kontrolera widoku (NSViewController
). Hierarchia interfejsu wygląda następująco: Główny kontroler okna aplikacji to NSWindowController
. Wewnątrz okna znajduje się widok podzielony, a prawy widok w widoku podzielonym jest kontrolowany przez NSViewController
.Jak przekierować akcje menu do kontrolera NSViewController w oknie?
Window + NSWindowController
`-- NSSplitView
`-- NSView
`-- NSView + NSViewController
Pozycja menu jest podłączona do First Responder w Konstruktorze interfejsu. Kontroler widoku implementuje odpowiednią metodę, ale element menu pozostaje wyłączony. Po przeniesieniu metody do NSWindowController
włączany jest element menu.
Pomyślałem, że muszę ustawić kontroler widoku w łańcuchu responderów, więc ustawiłem go jako nextResponder
dla kontrolera okna; bez cygara. Co ja robię źle?
Możesz dodać obiekt do IB, reprezentujący kontroler. Następnie połącz działanie menu z IBAction swojego kontrolera. –
Niestety nie jest to możliwe, kontrolery widoku zmieniają się zgodnie z tym, co zostało wybrane w lewym panelu widoku podziału. – zoul
Następnie trzeba ponownie zaimportować akcję menu za każdym razem, gdy widok się skupi. Aby uzyskać dostęp do tego menu: [[[[[NSApp mainMenu] itemWithTitle: @ "ItemName"] menu] itemWithTitle @ "Nazwa przedmiotu" setAction: @ "Selector (theSelector)] –