2 votes

comment arrêter la récupération à la valeur originale lorsque l'animation est arrêtée

J'utilise l'animation de base pour rendre une vue animée. Lorsque l'animation est arrêtée, la vue reprend sa valeur d'origine. Comment puis-je arrêter la récupération ? Voici mon code

   #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"];

1voto

Wain Points 65967

Définissez la valeur finale avant d'ajouter l'animation. L'animation inclut la valeur de départ souhaitée afin qu'elle continue à fonctionner comme vous le souhaitez.

0voto

Magic fish Points 78

Fixer le CAKeyframeAnimation propriété removedOnCompletion = NO;

theAnimation.removedOnCompletion = NO;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X