animation de movimiento de vista de iPhone

Quiero mover una vista a la derecha cuando hice clic en un button. Escribí algo pero no funciona;

UIView* view = [self.view viewWithTag:100]; if (!view) { NSLog(@"nil"); } [UIView animateWithDuration:0.3f animations:^{ [view setTransform:CGAffineTransformMakeTranslation(-100, 0)]; } completion:^(BOOL finished){ } ]; 

testing este código;

  UIView* view = [self.view viewWithTag:100]; [UIView animateWithDuration:0.5 delay:0.1 options: UIViewAnimationCurveEaseOut animations:^ { CGRect frame = view.frame; frame.origin.y = 0; frame.origin.x = (-100); view.frame = frame; } completion:^(BOOL finished) { NSLog(@"Completed"); }]; 

Hazlo asi .

leftFrame es el marco en el que puede comenzar y el marco derecho es el lugar al que desea desplazarse

 UIView* view = [self.view viewWithTag:100]; if (!view) { NSLog(@"nil"); } [vw setFrame:leftFrame]; [UIView animateWithDuration:0.3f animations:^{ [vw setFrame:rightFrame]; } completion:^(BOOL finished){ } ]; 

Happy Coding 🙂

También puede mover su vista con una animation suave como esta

 - (void)moveViewPosition:(CGFloat)xPosition forView:(UIView *)view { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.2]; [UIView setAnimationCurve:UIViewAnimationCurveLinear]; [view setFrame:CGRectMake(xPosition, view.frame.origin.y,view.frame.size.width, view.frame.size.height)]; [UIView commitAnimations]; } 

y llámalo así

 [self moveViewPosition:120.0f forView:yourView]; 

para get más información, también puede modificarlo para pasar su duración de requerimiento en la function de llamada de esta manera.

 - (void)moveViewPosition:(CGFloat)xPosition forView:(UIView *)view withDuration:(float)duration; 

hay otras opciones como

  UIView* view = [self.view viewWithTag:99999]; [UIView animateWithDuration:0.9 delay:0.0 options: UIViewAnimationCurveEaseOut animations:^ { CGRect frame = view.frame; frame.origin.y = 68; frame.origin.x = 0; view.frame = frame; } completion:^(BOOL finished) { NSLog(@"Completed"); }];