[UIView animateWithDuration:1 delay:(0.1 + i * 0.1) usingSpringWithDamping:0.8 initialSpringVelocity:0.2 options:UIViewAnimationOptionCurveLinear animations:^{ editView.y = _topLabel.bottom + 30 * (i / 4 + 1) + 70 * (i / 4); } completion:nil];
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpringWithDamping:(CGFloat)dampingRatio initialSpringVelocity:(CGFloat)velocity options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^ __nullable)(BOOL finished))completion API_AVAILABLE(ios(7.0))
usingSpringWithDamping
和 initialSpringVelocity
usingSpringWithDamping 参数
usingSpringWithDamping的范围为0.0f到1.0f,数值越小「弹簧」的振动效果越明显。下图演示了在initialSpringVelocity为0.0f的状况下,usingSpringWithDamping分别取0.2f,0.5f和1.0f的状况,以下图ios
usingSpringWithDamping
为1.0f时,initialSpringVelocity
分别取5.0f,15.0f和25.0f的状况。值得注意的是,初始速度取值较高而时间较短时,也会出现反弹状况||
|:|
| UIViewAnimationOptionLayoutSubviews | 提交动画的时候布局子控件,表示子控件将和父控件一同动画 |
| UIViewAnimationOptionAllowUserInteraction | 动画时容许用户交流,好比触摸 |
| UIViewAnimationOptionBeginFromCurrentState | 从当前状态开始动画 |
| UIViewAnimationOptionRepeat | 动画无限重复 |
| UIViewAnimationOptionAutoreverse | 执行动画回路,前提是设置动画无限重复 |
| UIViewAnimationOptionOverrideInheritedDuration | 忽略外层动画嵌套的执行时间 |
| UIViewAnimationOptionOverrideInheritedCurve | 忽略外层动画嵌套的时间变化曲线 |
| UIViewAnimationOptionAllowAnimatedContent | 经过改变属性和重绘实现动画效果,若是key没有提交动画将使用快照|
| UIViewAnimationOptionShowHideTransitionViews | 用显隐的方式替代添加移除图层的动画效果|
| UIViewAnimationOptionOverrideInheritedOptions | 忽略嵌套继承的选项|ide
| 时间函数曲线相关||
|:|
| UIViewAnimationOptionCurveEaseInOut | 时间曲线函数,由慢到快|
| UIViewAnimationOptionCurveEaseIn | 时间曲线函数,由慢到特别快 |
| UIViewAnimationOptionCurveEaseOut | 时间曲线函数,由快到慢 |
| UIViewAnimationOptionCurveLinear | 时间曲线函数,匀速 |函数
|转场动画相关的 ||
|:|
| UIViewAnimationOptionTransitionNone | 无转场动画 |
| UIViewAnimationOptionTransitionFlipFromLeft | 转场从左翻转 |
| UIViewAnimationOptionTransitionFlipFromRight | 转场从右翻转 |
| UIViewAnimationOptionTransitionCurlUp | 上卷转场 |
| UIViewAnimationOptionTransitionCurlDown | 下卷转场 |
| UIViewAnimationOptionTransitionCrossDissolve | 转场交叉消失 |
| UIViewAnimationOptionTransitionFlipFromTop | 转场从上翻转 |
| UIViewAnimationOptionTransitionFlipFromBottom | 转场从下翻转 |布局