Есть ли способ сделать пользовательскую анимацию при нажатии на кнопку iPhone? Хотелось бы что-то вроде кнопки App Store - она показывает цену, а потом при нажатии на нее она меняет цвет и текст меняется на купить сейчас, потом при повторном нажатии завершает покупку.
UIViewAnimationTransition содержит только несколько значений, которые не обеспечивают полной функциональности. Можно ли сделать что-то подобное, но с анимацией:
- (IBAction) changeButtonDisplay:(id)sender {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.8];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:purchaseButton cache:NO]; //the built in UIViewAnimationTransition values don't provide enough flexibility
[purchaseButton setTitle:@"Buy Now" forState:UIControlStateNormal];
[purchaseButton setBackgroundColor:[UIColor greenColor]];
[purchaseButton addTarget:self action:@selector(purchaseItems:) forControlEvents:UIControlEventTouchUpInside];
[UIView commitAnimations];
}
Этот код работает и отображает правильный переход и позволяет второму щелчку выполнить правильное действие, но заголовок и цвет меняются мгновенно, а не плавной анимацией. Можно ли легко сделать такую анимацию, нужно ли мне создавать подкласс UIButton и выполнять анимацию «вручную»? Если да, то какой метод мне придется переопределить?