原创Blog,转载请注明出处
http://blog.youkuaiyun.com/hello_hwc?viewmode=list
我的stackoverflow

前言:算是对之前CoreAnimation系列的补充吧,iOS中,实现震荡这样的物理效果还是比较简单的,复杂的物理动画可以通过UIDynamic动画(之前的这篇文章讲解过)
效果-注意结束的时候可以看到View震动了一下,别小看这一点点的效果,用户体验就是在每一个一点点中拉开差距的
代码
UIView.animateWithDuration(0.4, delay: 0.0,
usingSpringWithDamping:0.6,
initialSpringVelocity: 1.0,
options:UIViewAnimationOptions.CurveEaseInOut,
animations: { () -> Void in
self.testview.center = self.view.center
}) { (finished) -> Void in
}
代码
UIView.animateWithDuration(0.4, delay: 0.0,
usingSpringWithDamping:0.6,
initialSpringVelocity: 1.0,
options:UIViewAnimationOptions.CurveEaseInOut,
animations: { () -> Void in
self.testview.transform = CGAffineTransformMakeScale(2.0, 2.0)
}) { (finished) -> Void in
}
实现函数
class func animateWithDuration(_ duration: NSTimeInterval,
delay delay: NSTimeInterval,
usingSpringWithDamping dampingRatio: CGFloat,
initialSpringVelocity velocity: CGFloat,
options options: UIViewAnimationOptions,
animations animations: () -> Void,
completion completion: ((Bool) -> Void)?)
参数详解
- duration 动画从开始到结束的时间间隔
- delay 延迟的时间
- dampingRatio 在接近最终状态的时候震荡的幅度,0到1,1震荡最小。
- velocity 最初条约的速度,例如,如果动画的距离是200,这个值是0.5,那么速度就是100pt/s
- animations 实际要执行的动画
- completion 动画结束时候执行的block
本文介绍如何在iOS中使用Core Animation实现物理效果,如View震动等,通过调整参数达到不同的动画体验,增强应用的用户体验。
1024

被折叠的 条评论
为什么被折叠?



