Mic*_*ine 8 animation core-animation rounded-corners catransition ios
我试图动画我视角的四舍五入.cornerRadius属性被列为可动画,但我似乎无法让它工作.我实际上也无法获得任何其他属性的动画,但角落是我感兴趣的.这是我的代码,它非常简单:
[CATransaction begin];
[CATransaction setValue: [NSNumber numberWithFloat: 2.0f] forKey:kCATransactionAnimationDuration];
self.myView.layer.cornerRadius = 50.0f;
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)
我在这里想念的是什么?角落变圆,但它是瞬间而不是2秒钟.
pic*_*ano 10
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"];
Run Code Online (Sandbox Code Playgroud)
Swift 2.2版本:
let anim1 = CABasicAnimation(keyPath: "cornerRadius")
anim1.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.linear)
anim1.fromValue = 0
anim1.toValue = 50
anim1.duration = 2.0
layer.add(anim1, forKey: "cornerRadius")
Run Code Online (Sandbox Code Playgroud)
Swift 3.0版本:
let anim1 = CABasicAnimation(keyPath: "cornerRadius")
anim1.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
anim1.fromValue = 0
anim1.toValue = 50
anim1.duration = 2.0
myView.layer.add(anim1, forKey: "cornerRadius")
Run Code Online (Sandbox Code Playgroud)
更新:
正如马克注意到的那样,使用它#keyPath描述要设置动画的属性更清晰:
let anim1 = CABasicAnimation(keyPath: #keyPath(CALayer.cornerRadius))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4451 次 |
| 最近记录: |