2012-03-02 7 views
0

Может кто-нибудь вести меня в правильном направлении на выяснение того, как анимировать UIImageView, как так:UIImageView «подпрыгивать в» анимации

На начальной загрузки приложения, UIImageView придет из верхней части и затем отскочить (вверх и вниз) на дно пару раз, прежде чем оседать внизу.

Я знаю, как оживить его, когда он просто перемещается вдоль оси Y, но как сделать небольшой эффект отскока в конце?

Спасибо!

ответ

0

Одним из способов достижения этой цели (я использовал этот метод с большим успехом) является использование вложенных анимаций. Вы можете воспользоваться методом UIView + (void)animateWithDuration:animations.

Вот псевдо для него:

Animation{ 
    //Fall to the bottom along the y axis 
    [self doFallToBottom]; 
    onCompletion: 
    { 
      Animation{ 
      //Hits the bottom. Bounce up a bit along the y axis (maybe 100 pixels or so) 
      [self bounceUp:100]; 
      onCompletion: 
      { 
       //Fall back down to the bottom along the y axis 
       [self doFallToBottom]; 
      } 
      }  
    } 
} 
+0

Хотя это будет работать, я предпочитаю, чтобы создать одну единственную CAKeyframeAnimation и добавить путь к нему. Добавление одного пути выглядит мне более легким, чем отслеживание последовательных анимаций с помощью метода делегирования end endate. – taskinoor

+0

Ваша идея звучит великолепно. Моя первоначальная проблема заключается в невозможности управлять длительностью каждого кадра, но похоже, что CAKeyframeAnimation дает вам эту способность. Хорошая идея! – Jeremy

+0

Если мы хотим разной скорости вверх и вниз, я думаю, ваш метод будет лучше. Не уверен, можно ли установить другое время для разных компонентов пути. Однако, если мы хотим общего замедления, тогда kCAMediaTimingFunctionEaseOut может использоваться как функция синхронизации. – taskinoor

1

MoveMe Образец кода от Apple демонстрирует отскок анимации. Проверьте метод - (void)animatePlacardViewToCenter в классе MoveMeView. Он создает bounceAnimation. Поскольку вам нужно подпрыгивать только по оси y, это будет проще реализовать, чем образец.

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