【发布时间】:2015-06-24 11:06:44
【问题描述】:
在我的项目中,我有一个 UIButton,它可以在单击时缩放。到目前为止一切都很好,但我需要按钮的不透明度从 1 逐渐减小到 0。我的意思是它应该以 1,0.9,0.8,0.7,0.6,0.5,0.4,0.3,0.2,0.1,0.0 的顺序减小。我当前的代码是
-(void)roundButtonAnimation
{
self.buttonZoom = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
self.buttonZoom.duration = 0.8f;
self.buttonZoom.values = @[[NSValue valueWithCATransform3D:CATransform3DMakeScale(1, 1, 1)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(2,2,2)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(3,3,3)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(5,5,5)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(6,6,6)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(7,7,7)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(9,9,9)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(10,10,10)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(11,11,11)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(12,12,12)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(13,13,13)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(14,14,14)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(15,15,15)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(16,16,16)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(17,17,17)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(18,18,18)],[NSValue valueWithCATransform3D:CATransform3DMakeScale(50,50,50)]];
self.buttonZoom.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
self.roundButton.transform = CGAffineTransformMakeScale(0,0);
self.roundButton.alpha = 0.3;
[self.roundButton.layer addAnimation:self.buttonZoom forKey:@"buttonScale"];
[self.CLSpinnerView1 stopAnimating];
//[self performSelector:@selector(secondView) withObject:self afterDelay:0.3];
[self performSelector:@selector(postNotification) withObject:self afterDelay:0.6];
}
【问题讨论】:
-
这个代码是什么产生的?怎么了?
-
你有什么特别的原因为什么不使用曲线线性的简单变换和阿尔法动画?
-
@Andrea 简单变换和 alpha 动画曲线线性...是否可以使用此代码进行缩放??
-
@Ilario 此代码缩放按钮
-
尝试两个 CAAnimations,一个用于缩放,另一个用于 alpha(不透明度),然后将它们添加到 CAAnimationGroup 并将该组分配给您的按钮/方法。
标签: ios objective-c iphone uibutton uianimation