2013-02-11 7 views
0

Im новой для основной анимации. Каждый раз, когда я вызываю анимацию, мое изображение перемещается из своего местоположения в верхний левый угол экрана, перемещается, а затем возвращается в исходное местоположение. Как заставить изображение перемещаться на 50 единиц влево, останавливаться, а затем повторять, если кнопка снова нажата. Код:UIImage вид сбрасывается после анимации называется

-(IBAction)preform:(id)sender{ 

CGPoint point = CGPointMake(50, 50); 

CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"position"]; 
anim.fromValue = [NSValue valueWithCGPoint:point]; 
anim.toValue = [NSValue valueWithCGPoint:CGPointMake(point.x + 50, point.y)]; 
anim.duration = 1.5f; 
anim.repeatCount =1; 
anim.removedOnCompletion = YES; 
anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; 
[imView.layer addAnimation:anim forKey:@"position"]; 

} 

ответ

1

В вашем случае, вы можете пропустить тяжелые CA машины и использование блоков анимации

// Your image is at starting position 
[UIView animateWithDuration:1.5 animations:^{ 
     CGRect newFrame = CGRectOffset(imView.frame, 50, 0); 
     imView.frame = newFrame; 
    }]; 

Но, если вы хотите знать, как справиться с этим «щелкнет назад» правильно, проверьте this url ,