/* CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; pathAnimation.calculationMode = kCAAnimationPaced; pathAnimation.fillMode = kCAFillModeForwards; pathAnimation.removedOnCompletion = NO; pathAnimation.duration = 15.0; pathAnimation.repeatCount = 1; CGMutablePathRef curvedPath = CGPathCreateMutable(); CGPathMoveToPoint(curvedPath, NULL, x+15, y); CGPathAddQuadCurveToPoint(curvedPath, NULL, 20, 10, 100, 330); pathAnimation.path = curvedPath; CGPathRelease(curvedPath); Yourimage.center=CGPointMake(x, y); [Yourimage.layer addAnimation:pathAnimation forKey:@"moveTheSquare"]; */ UIView *aView = [[UIView alloc]initWithFrame:CGRectMake(150, 50, 20, 20)]; aView.backgroundColor = [UIColor greenColor]; CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; pathAnimation.calculationMode = kCAAnimationPaced; pathAnimation.fillMode = kCAFillModeForwards; pathAnimation.removedOnCompletion = NO; pathAnimation.duration = 0.5; pathAnimation.repeatCount = 20; CGMutablePathRef curvedPath = CGPathCreateMutable(); CGPathAddArc(curvedPath, NULL, 160, 240, 100, 0,2*M_PI , 0); pathAnimation.path = curvedPath; CGPathRelease(curvedPath); [aView.layer addAnimation:pathAnimation forKey:@"moveTheCircleOne"]; [self.view addSubview:aView];