2009-05-02 4 views
5

Мне любопытно, можно ли каким-то образом переплетать Core Animation, чтобы дать «угасать» UIBarButtonItem? У меня есть tableView, который я представляю с двумя разными источниками данных. Как только определенный источник данных запускается, я хотел бы ослабить текущие параметры UIToolBar и исчезать в новых.Можно ли использовать Core Animation для вытеснения UIBarButtonItem?

Спасибо, что направили меня в правильном направлении.

ответ

7

Если вы действительно используете UIToolbar (обратите внимание на нижний регистр «b»), а не на UINavigationBar, есть очень простой способ изменить кнопки, и переход автоматически исчезнет, ​​не отбрасываясь в Core Animation.

Если вы используете Interface Builder, вам понадобится ссылка на панель инструментов в вашем коде. Создать свойство IBOutlet и связать панель инструментов к нему в IB:

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

Это позволит вам ссылаться на UIToolbar в self.toolbar. Затем, создавать новые кнопки и добавить их в NSArray и передать это - [UIToolbar setItems: анимированный:] метод следующим образом:

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

нашел этот пост в то время как прибегая к помощи - примечания: есть '[я. navigationItem setLeftBarButtonItem: myBarButton animated: YES] 'метод, который я использовал для этой цели. благодаря! – taber

2

Я не верю, что есть способ управлять альфой на UIBarButtonItem, но класс UIToolbar уже имеет метод поддержки того, что вы пытаетесь сделать: -setItems: animated :.

Смежные вопросы