CATransform3DRotate和UIImageView

我使用此代码为UIImage视图制作动画

CABasicAnimation *animation;
animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
animation.duration = 1;
animation.toValue = [NSNumber numberWithFloat:M_PI];
animation.fromValue = [NSNumber numberWithInt:0];
[square.layer addAnimation:animation forKey:@"rotation"];

所有的工作都很好,但是我的阵列在动画结束时会保留原来的位置。 我看着图层的属性,发现:

[square.layer setTransform:CATransform3DRotate(HERE, -M_PI, 0, 0, 0)];

我不知道该写什么,而不是“这里”。 请问你能帮帮我吗? 非常感谢 !


CATransform3DRotate()将第一个参数作为应用旋转的变换。 如果你想旋转图层的变换,你可以使用

[square.layer setTransform:CATransform3DRotate(square.layer.transform, -M_PI, 0, 0, 0)];

也就是说,如果你遇到的问题是图层在动画结束时回到开始位置,则只需将动画的removedOnCompletion属性设置为NO,并将其fillMode属性设置为kCAFillModeForwards

链接地址: http://www.djcxy.com/p/2065.html

上一篇: CATransform3DRotate and UIImageView

下一篇: JavaScript: check if string contains '.' (a full