Можно ли использовать Core Animation для затухания UIBarButtonItem?

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

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

2 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам