我了解CGAffineTransformMakeRotation
可以旋转图片,CGAffineTransformMakeTranslation
可以翻译图片。我也理解CGAffineTransformConcat
可以合并两个转换。但是,我似乎无法找到使用这两种方法在弧上移动图像的方法。我知道这更像是一个数学问题,但是有没有人可以指出我的参考?
编辑:
[bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise:]
做了这个伎俩。
答案 0 :(得分:2)
使用路径设置的CAKeyframeAnimation
而不是离散值。
CAKeyframeAnimation *a = [CAKeyframeAnimation animationWithKeyPath:@"position"];
CGRect circleRect = CGRectMake(0,0,50,50);
a.duration = 2.0;
a.rotationMode = kCAAnimationRotateAuto;
a.path = [UIBezierPath bezierPathWithOvalInRect:circleRect].CGPath;
[imageView.layer addAnimation:a forKey:@"moveCircle"];
答案 1 :(得分:1)
围绕与圆弧对应的圆心旋转。
这将涉及三个步骤:
1)平移以使弧的中心移动到原点 2)旋转适当的角度 3)从第1步开始翻译。