[UIView animateKeyframesWithDuration:5.0 delay:0.0 options:0 animations:^{ [UIView addKeyframeWithRelativeStartTime:0.0 relativeDuration:0.5 animations:^{ self.verticalPosition.constant = 200.0; [self.view layoutIfNeeded]; }]; [UIView addKeyframeWithRelativeStartTime:0.5 relativeDuration:0.25 animations:^{ self.verticalPosition.constant = 50.0; [self.view layoutIfNeeded]; }]; [UIView addKeyframeWithRelativeStartTime:0.75 relativeDuration:0.125 animations:^{ self.verticalPosition.constant = 200.0; [self.view layoutIfNeeded]; }]; [UIView addKeyframeWithRelativeStartTime:0.875 relativeDuration:0.0625 animations:^{ self.verticalPosition.constant = 50.0; [self.view layoutIfNeeded]; }]; [UIView addKeyframeWithRelativeStartTime:0.9375 relativeDuration:0.03125 animations:^{ self.verticalPosition.constant = 200.0; [self.view layoutIfNeeded]; }]; [UIView addKeyframeWithRelativeStartTime:0.96875 relativeDuration:0.015625 animations:^{ self.verticalPosition.constant = 50.0; [self.view layoutIfNeeded]; }]; } completion:nil];