1

我使用以下代码片段制作了对象动画。

[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。

阿特,

4

1 回答 1

3

如果您在 iOS7 上,则有[UIView animateWithDuration: delay: usingSpringWithDamping: initialSpringVelocity: options: animations: completion:]class 方法。
您可以像弹簧一样为视图设置动画,并设置一些额外的参数,例如阻尼和初始速度。

设置damping < 1.0为具有弹性行为。它越小,感觉越有弹性。

initialSpringVelocity只是发射时的速度等于一秒钟内行进的距离。

如果您想了解更多信息,请参阅文档

[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];
于 2014-03-10T09:19:27.433 回答