繁体   English   中英

CABasicAnimation围绕自身的对象(360度)

[英]CABasicAnimation of object around itself (360 degrees)

这是我的动画代码:

  CABasicAnimation *fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    fullRotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
    fullRotation.duration = 4;
    fullRotation.repeatCount= 1000;
    [[stick layer] addAnimation:fullRotation forKey:@"60"];

      fullRotation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];

我试图绕自身旋转“摇杆”,但似乎绕着另一个点旋转,该点默认是原点。 我该怎么做才能使其绕自身完整360度旋转? 提前致谢。

如果要更改操纵杆的锚点,请使用:

stick.layer.anchorPoint = CGPointMake(1.0,1.0);

https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html#//apple_ref/occ/instp/CALayer/anchorPoint

我使用的旋转代码:

CABasicAnimation *rotateAnim = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    rotateAnim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
    rotateAnim.fromValue = [NSNumber numberWithFloat:0];
    rotateAnim.toValue = [NSNumber numberWithFloat:(360 * M_PI / 180.0f)];
    rotateAnim.repeatCount = HUGE_VALF;
    rotateAnim.duration = 2.5;
    rotateAnim.removedOnCompletion = NO;

    [view.layer addAnimation:rotateAnim forKey:@"rotationAnimation"];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM