Chcę wyróżnić wybrane NSToolbarItem
, np. w Adium (patrz zrzut ekranu).Zaznacz NSToolbarItems
highlight http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png
Czy istnieje prosty sposób? Jeśli nie, powiedz mi to trudne. =)
Chcę wyróżnić wybrane NSToolbarItem
, np. w Adium (patrz zrzut ekranu).Zaznacz NSToolbarItems
highlight http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png
Czy istnieje prosty sposób? Jeśli nie, powiedz mi to trudne. =)
Aby rozwinąć odpowiedź Chucka, wystarczy, że przekażesz swojemu kontrolerowi delegata swojego NSToolBar i zaimplementujesz pasek narzędzi. SelekcjaItemIdentyfikatory: deleguj w nim metodę. Na przykład następująca realizacja pozwoli Ci zachować zaznaczenie wyboru na każdej pozycji paska narzędzi z wyjątkiem jednego oznaczonego „Sprawdź”:
- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar
{
NSMutableArray *allIdentifiers = [[NSMutableArray alloc] init];
for (NSToolbarItem *toolbarItem in [toolbar items])
{
if (![[toolbarItem label] isEqualToString:@"Inspect"])
[allIdentifiers addObject:[toolbarItem itemIdentifier]];
}
return [allIdentifiers autorelease];
}
I buforować tablicę allIdentifiers w zmiennej instancji, gdy robię coś takiego, więc że muszę wykonać konstrukcję tylko raz.
Zobacz Selectable Toolbar Items w dokumentacji kakao.
Po utworzeniu paska narzędzi w Konstruktorze interfejsów można kliknąć poszczególne elementy NSToolbarItem i zaznaczyć pole wyboru w Inspektorze dla tych, które mają mieć taki wygląd. Brak kodu.
Mam go wbudowany w budowniczy interfejs i zaznaczone pole wyboru jest zaznaczone, ale nic nie wydaje się zdarzyć. czy jest coś jeszcze, co należy zrobić? – Tony
Nie mam pojęcia, wygląda na to, że w większości przypadków jest on uszkodzony w momencie ustawienia go w IB i może go uruchomić tylko z paskiem narzędziowym. SelekcjaItemIdentifiers – valexa
W konstruktorze interfejsów dla Xcode 4 jest teraz małe pole wyboru po kliknięciu elementu paska narzędzi, który mówi, że można go wybrać, ale sprawdzenie go wydaje się nic nie robić. jakieś pomysły? – Tony
@ Tony - Po prostu wypróbowałem to samodzielnie w Interface Builder i działało dobrze dla mojej aplikacji, nawet bez powyższego kodu. Nie wiem, dlaczego to nie działa w twoim przypadku. –
Okazuje się, że faktycznie trzeba podłączyć wszystkie elementy paska narzędzi do akcji, aby mogły one zostać "włączone". – Tony