我正在使用此代码
为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)];
而且我不知道写什么而不是“HERE”。请问你能帮帮我吗? 非常感谢!
答案 0 :(得分:4)
CATransform3DRotate()
将第一个参数作为应用旋转的变换。如果您想要旋转图层的变换,可以使用
[square.layer setTransform:CATransform3DRotate(square.layer.transform, -M_PI, 0, 0, 0)];
那就是说,如果您遇到的问题是图层在动画结束时回到起始位置,您需要做的就是将动画的removedOnCompletion
属性设置为NO及其{ {1}} fillMode
的属性。