1

我在一个视图中有一些对象,我想在屏幕上围绕它们自己的点移动。我希望它们看起来几乎是静止的,但有轻微的圆周运动(不是旋转,物品将保持笔直和水平),有点像在海洋中上下浮动的浮标,也有一些水平运动。

我的基本想法是围绕对象移动锚点。我只想要一个微妙的效果,对象不会在整个屏幕上移动。最多10-20分。它们将是仍然能够被按下的 UIButtons。到目前为止,我搜索的所有结果都是围绕一个点旋转,而不是我所追求的。

4

1 回答 1

2

您可以使用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 框架才能使其正常工作。

于 2012-12-02T13:35:09.857 回答