iOS 定点圆形环绕
/// 圆形环绕
CAKeyframeAnimation *animation=[CAKeyframeAnimation animationWithKeyPath:@"position"];
/// 中心点的位置
CGRect rect = CGRectMake((HOME_SCREEN_WIDTH - 250)/2, (HOME_SCREEN_HEIGHT - SafeAreaTabbarHeight - 250)/2, 250, 250);
animation.duration = 8;
animation.path=CFAutorelease(CGPathCreateWithEllipseInRect(rect, NULL));
animation.calculationMode=kCAAnimationPaced;
animation.rotationMode=kCAAnimationRotateAuto;
/// 保持动画原状
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
animation.repeatCount = MAXFLOAT;/// MAXFLOAT 重复动画
[view.layer addAnimation:animation forKey:@"round"];
/// 缩放
CAKeyframeAnimation *animation2 = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale"];
animation2.duration = 3;
animation2.calculationMode=kCAAnimationPaced;
animation2.rotationMode=kCAAnimationRotateAuto;
animation2.removedOnCompletion = NO;
animation2.fillMode = kCAFillModeForwards;
animation2.repeatCount = MAXFLOAT;
animation2.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
/// 不同时段的变化
animation2.keyTimes = @[@(0),@(0.2),@(0.5),@(0.7),@(1)];
animation2.values = @[@(0.5),@(0.8),@(1.2),@(0.8),@(0.5)];
[view.layer addAnimation:animation2 forKey:@"pop"];
参考:https://www.jianshu.com/p/adf6b29ba2ab