-3

这是一个重复的问题:如何为 UIControl/UIButton 从一种状态动画过渡到另一种状态?但不是:如前所述,在触摸时淡出 UIButton 。

然而,Marty 在中提供的答案:如何为 UIControl/UIButton 从一种状态动画过渡到另一种状态?似乎很好但对我不起作用,高亮状态和正常状态之间没有动画。

我想要做的是在 ios7 中复制圆形按钮上的酷炫效果:按下按钮时,颜色会随着淡出效果迅速消失。

我有 2 张正常状态和高亮状态的图像,基本上我认为我应该子类化按钮并在它们之间插入动画效果

知道什么是最好的方法吗?

4

1 回答 1

2

根据此处找到的答案Fading out an UIButton when touches我修改了代码,如下所示,其中 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];
}
于 2013-10-30T10:09:38.800 回答