Изменение tintColor на UIBarButtonItem в UIToolbar приводит к тому, что кнопка исчезает и анимируется слева. - PullRequest
1 голос
/ 23 января 2012

Я использую Xcode 4.2 для разработки приложения для iOS 5.

В раскадровке у меня есть вид с UIToolbar и 3 элемента в нем. Последний элемент является UIBarButtonItem. Я хочу изменить tintColor этого UIBarButtonItem, когда пользователь нажимает на него, пока его действия не будут отклонены.

Я сделал UIBarButtonItem розеткой в ​​моем контроллере, вот код:

@property (weak, nonatomic) IBOutlet UIBarButtonItem *upArrowButton;
...
@synthesize upArrowButton = _upArrowButton;

... и я меняю оттенок цвета следующим образом:

self.upArrowButton.tintColor = [UIColor greenColor];

Однако, когда изменяется tintColor, кнопка исчезает, и на экране слева появляется новый (с правильным новым tintColor).

Есть идеи, какую ошибку я совершил?


UPDATE:

Я выяснил источник проблемы, потому что метод, в котором был изменен tintColor, вызывается внутри блока анимации animateWithDuration.

1 Ответ

0 голосов
/ 24 января 2012

Источником этого необычного поведения было то, что я вызывал метод, который изменил tintColor из блока анимации animateWithDuration. Таким образом, изменение в tintColor будет «анимированным».

...