我在视图中有一些对象,我想在屏幕上移动它们自己的点。我希望它们看起来几乎是静止的,但是有一个轻微的圆周运动(不是旋转,物品将保持笔直和水平),有点像浮标在海洋中上下浮动,也有一些水平运动。
我的基本想法是在对象周围移动锚点。我只想要一个微妙的效果,物体不会在整个屏幕上移动。最多10-20分。他们将是UIButtons仍然能够被按下。到目前为止,我搜索过的所有内容都是围绕一个点旋转的结果,而不是我所追求的结果。
答案 0 :(得分:1)
您可以使用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框架才能使其正常工作。