我在一个视图中有一些对象,我想在屏幕上围绕它们自己的点移动。我希望它们看起来几乎是静止的,但有轻微的圆周运动(不是旋转,物品将保持笔直和水平),有点像在海洋中上下浮动的浮标,也有一些水平运动。
我的基本想法是围绕对象移动锚点。我只想要一个微妙的效果,对象不会在整个屏幕上移动。最多10-20分。它们将是仍然能够被按下的 UIButtons。到目前为止,我搜索的所有结果都是围绕一个点旋转,而不是我所追求的。
我在一个视图中有一些对象,我想在屏幕上围绕它们自己的点移动。我希望它们看起来几乎是静止的,但有轻微的圆周运动(不是旋转,物品将保持笔直和水平),有点像在海洋中上下浮动的浮标,也有一些水平运动。
我的基本想法是围绕对象移动锚点。我只想要一个微妙的效果,对象不会在整个屏幕上移动。最多10-20分。它们将是仍然能够被按下的 UIButtons。到目前为止,我搜索的所有结果都是围绕一个点旋转,而不是我所追求的。
您可以使用CAKeyframeAnimation
使您的对象遵循一个小圆圈或任何其他适合您需要的路径。以下是创建和使用CAKeyframeAnimation
对象的方法。
CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.calculationMode = kCAAnimationPaced;
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = NO;
CGMutablePathRef * circle = CGPathCreateWithEllipseInRect(CGRectMake(/* the center of your object and the radius of your circle*/));
pathAnimation.path = circle;
CGPathRelease(circle);
[buttonView.layer addAnimation:pathAnimation forKey:@"animatePath"];
这应该让你开始。请注意,您需要导入 QuartzCore 框架才能使其正常工作。