Я использую анимацию ядра, чтобы сделать анимированный вид. Когда анимация остановится, представление вернется к исходному значению. Как я могу прекратить восстановление? Вот мой кодкак остановить восстановление до исходного значения при остановке анимации
#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 *[email protected][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"];
Итак, когда анимация * заканчивается *, 'position' является ** not **' (503, 473) '? Это звучит не так. – Mar0ux
@ Mar0ux not (503, 473), он восстанавливается до первоначального значения. –
Я думаю, что вы делаете что-то неправильно. Это не должно произойти. Вы уверены, что проверяете значение * в */* после * блока завершения? У вас есть другая анимация? Является ли какой-то другой код, переопределяющий эти свойства: 'frame' /' position'/'center' и т. Д.? – Mar0ux