2012-02-10 2 views
2

Я использую CABasicAnimation для выполнения объекта перемещения анимации от точки к точке в моем приложении, но после завершения анимации перехода к точке назначения она всегда отображается в начальной точке. Как предотвратить его не будет отображаться в начальной точке после финализации?Как использовать CABasicAnimation для перехода от точки к другой точке?

Спасибо заранее,

ответ

0

попробовать это

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0]; 
CGRect frame=objectName.frame; 
frame.origin.x=frame.origin.x-20;//change the point according to you 
frame.origin.y=frame.origin.y-20;//change the point according to you 
objectName.frame=frame; 
[UIView commitAnimations]; 
+0

Этот код отлично работает, но я действительно хочу использовать Core Animation для выполнения сложной анимации. Например, перемещайте объект по пути, который определяется пользователем. –

+0

, так что вам нужно изменить положение объекта после анимации, чтобы всякий раз, когда ваша анимация закончилась, объект остается в точке назначения – hchouhan02

2

Похоже, вы забыли установить фактическое значение конечной точки для вашего объекта. С CABasicAnimation вы добавляете свою анимацию И установить свойство соответственно.

+1

Здесь мой код: CABasicAnimation * translateAnim = [CABasicAnimation animationWithKeyPath: @ "transform.translation.y"]; translateAnim.duration = 1.0; translateAnim.fromValue = [Номер NSNumberWithFloat: 0.0f]; translateAnim.toValue = [Номер NSNumberWithFloat: -100.f]; [layer addAnimation: translateAnim forKey: @ "move"]; –

Смежные вопросы