Pracuję nad aplikacją kakao, która będzieostatecznie tylko 2 pozycje w głównym menu okna. Nie uwzględnione w tych pozycjach to pozycja menu "Edycja". Czy istnieje możliwość dodania do aplikacji wszystkich funkcji elementu "Edycja" bez "edycji"? Mówię o kopiowaniu, wklejaniu, cofaniu itp. Wiem, że można to zrobić, dodając detektory klawiatury w kontrolerach okien, ale zastanawiam się, czy można to zrobić w jakikolwiek inny sposób?
Powodem, dla którego chcę to zrobić inaczej, jest to, że janadal chcesz używać tych poleceń w rodzimym oknie O programie. W tym oknie nie ma kontrolera (o którym wiem), do którego można by dodać słuchacza. Jeśli ktoś ma alternatywne pomysły, jak to zrobić, mam uszy.
Odpowiedzi:
3 dla odpowiedzi № 1Tak. Elementy menu edycji wysyłają tylko "wiadomości" do "łańcucha respondentów".
[[NSApplication sharedApplication] sendAction:@selector(copy:) to:nil from:self];
Jeśli spojrzysz na pozycje menu zdarzeń wewnątrz kreatora interfejsu, zobaczysz listę wysyłanych selektorów.
Z dokumentacji:
Jeśli parametr "Target" jest zerowy, metoda shareApplication szuka znakuobiekt, który może odpowiedzieć na wiadomość - to znaczy obiekt implementujący metodę dopasowującą anAction. Rozpoczyna się od pierwszej odpowiedzi w oknie klucza. Jeśli pierwsza osoba reagująca nie może odpowiedzieć, próbuje odpowiedzieć następnemu ratownikowi pierwszego reagenta i kontynuuje podążanie za następnym responderem, łącząc łańcuch respondenta. Jeśli żaden z obiektów w łańcuchu odpowiadającym okna klucza nie może obsłużyć komunikatu, metoda sharedApplication próbuje wysłać wiadomość do delegata okna klucza.
Więcej szczegółów tutaj: