2009-05-02 12 views
5

Jestem ciekawy, czy można w jakiś sposób przeplatać Core Animation, aby uzyskać "zanikanie" elementu UIBarButtonItem? Mam tableView, które reprezentuję z dwóch różnych źródeł danych. Po uruchomieniu określonego źródła danych chciałbym wyciszyć bieżące opcje UIToolBar i zaniknąć w nowych.Czy można używać Core Animation do wyciszania UIBarButtonItem?

Dzięki za wskazanie mi we właściwym kierunku.

Odpowiedz

7

Jeśli naprawdę używasz paska narzędzi UIToolbar (zwróć uwagę na małą literę "b"), a nie na pasek UINavigationBar, istnieje bardzo prosty sposób na zmianę przycisków i przejście automatycznie zniknie bez przechodzenia do Core Animation.

Jeśli używasz Kreatora interfejsów, potrzebujesz odwołania do paska narzędzi w kodzie. Utwórz właściwość IBOutlet i odwołują się do niego pasek w IB:

@property (nonatomic, retain) IBOutlet UIToolbar *toolbar; 

To pozwoli odwołać UIToolbar jak self.toolbar. Następnie należy utworzyć nowe przyciski i dodać je do NSArray i przekazać do - [UIToolbar setItems: animowany:] Metoda następująco:

UIBarButtonItem *newItem = [[[UIBarButtonItem alloc] 
           initWithBarButtonSystemItem:UIBarButtonSystemItemDone 
           target:self 
           action:@selector(handleTap:)] autorelease]; 
NSArray *newButtons = [NSArray arrayWithObjects:newItem, nil]; 
[self.toolbar setItems:newButtons animated:YES]; 
+2

znaleźć ten post podczas googlowania - z dopiskiem: istnieje '[self. navigationItem setLeftBarButtonItem: myBarButton animated: YES] 'metoda, której użyłem w tym celu. dzięki! – taber

2

Nie wierzę, że istnieje sposób kontrolowania alfa na UIBarButtonItem, ale klasa UIToolbar ma już metodę wspierania tego, co próbujesz zrobić: -setItems: animated :.

Powiązane problemy