UIView анимация: моделирование скорости

Я пытаюсь использовать UIView анимация для простого перемещения вида на экран:

  [UIView animateWithDuration:.10 delay:0 options: nil animations:^
   {
       self.menusView.frame = endingMenuViewFrame;;
   }
    completion:^(BOOL finished)
   {

   }];

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

1 ответ

Попробуйте с этим кодом. Это заставит ваш вид отскочить три раза с каждым раз, когда ваш рост уменьшается вдвое. Вы можете добавить больше отказов.

CGFloat offset = 200.0;

CGRect originalFrame = self.menusView.frame;

[UIView animateWithDuration:1.0 animations:^{
    CGRect frame = self.runnerAlertView.frame;
    frame.origin.y = frame.origin.y - offset;
    self.menusView.frame = frame;
} completion:^(BOOL finished){
    [UIView animateWithDuration:1.0 animations:^{

        self.menusView.frame = originalFrame;
    } completion:^(BOOL finished) {
        [UIView animateWithDuration:1.0 animations:^{
            CGRect frame = self.menusView.frame;
            frame.origin.y = frame.origin.y - 0.5 *offset;
            self.menusView.frame = frame;
        } completion:^(BOOL finished){
            [UIView animateWithDuration:1.0 animations:^{

                self.menusView.frame = originalFrame;
            } completion:^(BOOL finished) {
                [UIView animateWithDuration:1.0 animations:^{
                    CGRect frame = self.runnerAlertView.frame;
                    frame.origin.y = frame.origin.y - 0.25 * offset;
                    self.menusView.frame = frame;
                } completion:^(BOOL finished){
                    [UIView animateWithDuration:1.0 animations:^{

                        self.menusView.frame = originalFrame;
                    }];
            }];
        }];
        }];
    }];
}];
Другие вопросы по тегам