开发者社区> 问答> 正文

iOS如何让图片有阻尼的旋转

想让图片有阻尼的旋转,然后停下来,该怎么做?

展开
收起
a123456678 2016-07-20 14:52:34 1746 0
1 条回答
写回答
取消 提交回答
  • CALayer *layer = rotatingImage.layer;
    CAKeyframeAnimation *animation;
    animation = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation.z"];
    animation.duration = 0.5f;
    animation.cumulative = YES;
    animation.repeatCount = 1;
    animation.values = [NSArray arrayWithObjects:       // i.e., Rotation values for the 3 keyframes, in RADIANS
          [NSNumber numberWithFloat:0.0 * M_PI], 
          [NSNumber numberWithFloat:0.75 * M_PI], 
          [NSNumber numberWithFloat:1.5 * M_PI], nil]; 
    animation.keyTimes = [NSArray arrayWithObjects:     // Relative timing values for the 3 keyframes
          [NSNumber numberWithFloat:0], 
          [NSNumber numberWithFloat:.5], 
          [NSNumber numberWithFloat:1.0], nil]; 
    animation.timingFunctions = [NSArray arrayWithObjects:
          [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn],    // from keyframe 1 to keyframe 2
          [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut], nil];    // from keyframe 2 to keyframe 3
    animation.removedOnCompletion = NO;
    animation.fillMode = kCAFillModeForwards;
    
    [layer addAnimation:animation forKey:nil];
    2019-07-17 19:58:52
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载