我正在尝试为 View 的圆角动画。 cornerRadius属性被列为可动画显示,但我似乎无法使其正常工作。实际上,我也没有任何其他属性可以设置动画,但是角落是我感兴趣的。这是我的代码,非常简单:

[CATransaction begin];
[CATransaction setValue: [NSNumber numberWithFloat: 2.0f] forKey:kCATransactionAnimationDuration];

self.myView.layer.cornerRadius = 50.0f;

[CATransaction commit];

伙计们,我在想什么?角变圆了,但是它是瞬时的,而不是花费2秒。

最佳答案

CABasicAnimation *anim1 = [CABasicAnimation animationWithKeyPath:@"cornerRadius"];
anim1.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
anim1.fromValue = [NSNumber numberWithFloat:0.0f];
anim1.toValue = [NSNumber numberWithFloat:50.0f];
anim1.duration = 2.0;
[self.myView.layer addAnimation:anim1 forKey:@"cornerRadius"];

关于ios - 将UIView的CALayer动画化为圆角,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5886915/

10-11 21:56