看了facebook出品的pop動畫庫后,發現其中的彈簧效果很給力,但有些人也許不喜歡再去引入別的庫,因此Google了一下發現其實Apple自帶的API就能實現這種彈簧效果:
API:(iOS7后可用)
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpringWithDamping:(CGFloat)dampingRatio initialSpringVelocity:(CGFloat)velocity options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
Spring Animation 的 API 和一般動畫相比多了兩個參數,分別是 usingSpringWithDamping
和 initialSpringVelocity
。
usingSpringWithDamping
的范圍為 0.0f
到 1.0f
,數值越小「彈簧」的振動效果越明顯。
initialSpringVelocity
則表示初始的速度,數值越大一開始移動越快,值得注意的是,初始速度取值較高而時間較短時,也會出現反彈情況。
以上的例子可以到這邊參考:https://github.com/FreeMind-LJ/Animating