2

コア アニメーションを使用してビューをアニメーション化します。アニメーションが停止すると、ビューは元の値に戻ります。どうすれば回復を止めることができますか? これが私のコードです

   #define p(x,y) CGPointMake(x,y)
   #define v valueWithCGPoint
    ...
    CGPoint rectL=p(463, 473);
    CGPoint rectR=p(503, 473);
    NSValue *valueL = [NSValue v:rectL];
    NSValue *valueR = [NSValue v:rectR];
    NSArray *firstArray=@[valueL,valueR,valueL,valueR,valueL,valueR,valueL,valueR];

    CAKeyframeAnimation * theAnimation;

    // Create the animation object, specifying the position property as the key path.
    theAnimation=[CAKeyframeAnimation animationWithKeyPath:@"position"];
    theAnimation.values=firstArray;
    theAnimation.duration=5.0;
    //theAnimation.calculationMode= kCAAnimationLinear;
    // Add the animation to the layer.
    [self.boView.layer addAnimation:theAnimation forKey:@"moveBackAndForth"];
4

2 に答える 2

1

アニメーションを追加する前に、最終的な値を設定します。アニメーションには目的の開始値が含まれているため、希望どおりに動作し続けます。

于 2013-05-31T08:19:03.363 に答える
0

CAKeyframeAnimationプロパティを設定するremovedOnCompletion = NO;

theAnimation.removedOnCompletion = NO;
于 2013-05-31T08:18:25.863 に答える