Есть ли способ сделать собственную анимацию при нажатии на кнопку 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 и делать анимацию «вручную»? Если да, то какой метод мне нужно переопределить?