Добавить анимацию выбора в UIButton

У меня есть UIButton в одном из моих контроллеров ViewController с тремя различными изображениями состояния (обычное, выделенное и выбранное). Когда я нажимаю эту кнопку, она становится выделенной, а когда я отпускаю ее, выбирается. Я хочу сделать анимацию, которая изменяет выделенное изображение кнопки на выбранное за 4 секунды с помощью fadeIn или около того.

Любое предложение?

2 ответа

Пытаться UIView transitionWithView установив сначала нормальные и выбранные изображения в UIButton, а затем в обработчике действия анимировать изменение:

[UIView transitionWithView:self.addListButton
                  duration:0.3
                   options:UIViewAnimationOptionTransitionCrossDissolve
                animations:^{
                    [self.addListButton setSelected:YES];
                } completion:nil];

Я не хотел менять состояние UIButton поэтому я просто изменил нормальное изображение в блоке анимации:

[self.addListButton setImage:[UIImage imageNamed:@"icon-addbutton.png"]
    forState:UIControlStateNormal];

Вы должны зарегистрироваться самостоятельно UIButton подкласс, и вам, вероятно, придется перезаписать setSelected а также setHighlighted с вашим собственным кодом анимации. Более безопасной ставкой будет подкласс UIControl непосредственно и переопределить эти селекторы, чтобы у вас не было никаких UIButton конкретное наследие.

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