这是一个重复的问题:How to animate transition from one state to another for UIControl/UIButton?但未提及:Fading out an UIButton when touched。
然而Marty提供的答案:How to animate transition from one state to another for UIControl/UIButton?似乎很好,但对我不起作用,高亮状态和正常状态之间没有动画。
我想要做的是在ios7中复制圆形按钮上的炫酷效果:当按下按钮时,按钮会充满颜色,快速消失并带有淡出效果。
我有2张正常状态和高亮状态的图像,基本上我认为我应该将按钮子类化并在它们之间插入动画效果
了解最佳方法是什么?
答案 0 :(得分:2)
基于此处找到的答案Fading out an UIButton when touched我修改了如下所示的代码,其中overlayButton是位于按钮上方的隐藏UIImage
- (IBAction)buttonAction:(UIButton*)sender {
overlayButton.alpha = 1;
[overlayButton setHidden:FALSE];
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
[UIView setAnimationDelegate:[UIApplication sharedApplication]];
[UIView setAnimationDidStopSelector:@selector(endIgnoringInteractionEvents)];
overlayButton.alpha = 0;
[UIView commitAnimations];
}