0

開始点から終了点まで、その後は終了点から開始点まで UIImageView の無限のアニメーションを追加する必要があります。私はこのようにしようとしています:

CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.calculationMode = kCAAnimationPaced;
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = NO;
pathAnimation.duration = 2.0;
pathAnimation.repeatCount = HUGE_VALF;
pathAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

CGPoint endPoint = CGPointMake(320.0f - 30.0f, self.myImage.frame.size.height);
CGMutablePathRef curvedPath = CGPathCreateMutable();
CGPathMoveToPoint(curvedPath, NULL, self.myImage.frame.origin.x, self.myImage.frame.origin.y);
CGPathAddCurveToPoint(curvedPath, NULL, endPoint.x, self.myImage.frame.origin.y,
                      endPoint.x, self.myImage.frame.origin.y, endPoint.x, endPoint.y);
pathAnimation.path = curvedPath;
CGPathRelease(curvedPath);

[self.myImage.layer addAnimation:pathAnimation forKey:@"curveAnimation"];

myImage は開始点から終了点まで移動しますが、その後開始点に移動し、開始点から終了点までアニメーションを繰り返します。そのため、終点から始点までのアニメーションはありません。することは可能ですか?

4

2 に答える 2

4

autoreversesに設定するのと同じくらい簡単YESです。

とはいえ、それが本当に無限のアニメーションなら、fillModeまたは は必要ありません。removedOnCompletion

于 2013-07-18T08:13:39.797 に答える
0

私はあなたでした、私は単に使用します:

[UIVIew animateWithDuration:delay:options:animations:completion:]

オプションで

UIViewAnimationOptionRepeat

于 2013-07-18T08:12:50.693 に答える