2013-08-27 2 views
1

Я использовал следующий фрагмент, чтобы сделать анимацию объекта.UIViewAnimationCurveEaseOut, развертывание упругого эффекта ios

[UIView animateWithDuration:0.3 delay:0.2 
    options:(UIViewAnimationCurveEaseOut|UIViewAnimationOptionAllowUserInteraction) 
    animations:^{[UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(faceRight:finished:context:)]; 
    self.viewMiniDetalhe.center = CGPointMake(500, 150); 
}completion:^(BOOL finished){ 
    NSLog(@"Move to left done"); 
}]; 

Однако я хотел бы реализовать упругий эффект, известный как easeOutElastic.

АТТ

+0

Что вы пробовали/исследовали для этого? Почему вы используете 'setAnimationDidStopSelector' внутри блока анимации - что не так с блоком завершения? – Wain

+1

Этот блок действительно правильный, я просто хочу изменить стиль анимации. надевание эластичного эффекта по прибытии – leedream

ответ

3

Если вы на iOS7, есть метод [UIView animateWithDuration: delay: usingSpringWithDamping: initialSpringVelocity: options: animations: completion:] класса.
Вы можете анимировать свое представление как пружину и задать дополнительные параметры, такие как демпфирование и начальная скорость.

Комплект damping < 1.0 имеет эластичное поведение. Чем меньше это, тем весеннее оно ощущается.

initialSpringVelocity - это просто скорость при запуске, равная расстоянию, пройденному за одну секунду.

Если вы хотите узнать больше, here's the documentation.

[UIView animateWithDuration: 2.0f delay: 0.0f usingSpringWithDamping: 0.5f initialSpringVelocity: 1.0f options:UIViewAnimationOptionAllowAnimatedContent animations: 
{ 
    myView.frame = CGRectMake(20, 20, myView.frame.size.width, myView.frame.size.height); 
}completion:nil];