5

У меня есть простая анимация, которую я выполняю в своем методе делегата прокрутки scrollViewDidEndDragging.Как добавить анимацию отскока в анимацию с глубиной?

Это выглядит следующим образом:

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { 

    NSLog(@"finger was lifted"); 

    [UIView animateWithDuration:1.0 
        animations:^{ 
         self.homeLabel.frame = self.view.frame; 
        }]; 
} 

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

+0

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/clm/UIView/animateWithDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations : завершение: – Desdenova

ответ

0

Одним из хороших решений является создание настраиваемого уровня для вашего представления, который переопределяет метод addAnimation:forKey:, чтобы включить пользовательскую функцию синхронизации.

Этот answer вникает в особенности, как это сделать.

Другой вариант - взглянуть на анимацию ключевого кадра. Этот question and answer охватывает этот подход очень хорошо.

15

Вы можете использовать функцию анимации usingSpringWithDamping.

[UIView animateWithDuration:1.0 delay:0 usingSpringWithDamping:0.2 initialSpringVelocity:5.0 options:UIViewAnimationOptionCurveLinear animations:^{ 
    self.homeLabel.frame = self.view.frame; 
} completion:^(BOOL finished) { 

}]; 

Регулировка Spring Damping и Initial Spring Velocity может дать вам эффект, который вы хотите.

+1

Это лучший ответ. (проголосовали). 'animateWithDuration: delay: usingSpringWithDamping: initialSpringVelocity: options: animations: completion:' метод специально разработан для того, что просит OP. Я написал демо-программу на github, которая анимирует руки часов, используя именно этот вызов, и это дает очень реалистичный отскок. –

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

  • Нет связанных вопросов^_^