小编sab*_*aba的帖子

UIView animateWithDuration不会为cornerRadius变体设置动画

我试图动画的变化cornerRadius一个的UIView实例layer,但的变化cornerRadius立即生效.

这是代码:

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)];
view.layer.masksToBounds = YES;
view.layer.cornerRadius = 10.0;
[UIView animateWithDuration:1.0 animations:^{

    [view.layer.cornerRadius = 0.0;

}];
Run Code Online (Sandbox Code Playgroud)

谢谢大家给我任何提示.

编辑:

我设法Core Animation使用a 来动画这个属性CABasicAnimation.

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"cornerRadius"];
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
animation.fromValue = [NSNumber numberWithFloat:10.0f];
animation.toValue = [NSNumber numberWithFloat:0.0f];
animation.duration = 1.0;
[viewToAnimate.layer addAnimation:animation forKey:@"cornerRadius"];
[animation.layer setCornerRadius:0.0];
Run Code Online (Sandbox Code Playgroud)

cornerradius uiview uiviewanimation

61
推荐指数
5
解决办法
2万
查看次数

标签 统计

cornerradius ×1

uiview ×1

uiviewanimation ×1