看了facebook出品的pop動畫庫後,發現其中的彈簧效果很給力,但有些人也許不喜歡再去引入別的庫,所以Google了一下發現其實Apple自帶的API就能實現這種彈簧效果:css
API:(iOS7後可用)git
+ (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
。github
usingSpringWithDamping
的範圍爲 0.0f
到 1.0f
,數值越小「彈簧」的振動效果越明顯。動畫
initialSpringVelocity
則表示初始的速度,數值越大一開始移動越快,值得注意的是,初始速度取值較高而時間較短時,也會出現反彈狀況。spa
以上的例子能夠到這邊參考:https://github.com/FreeMind-LJ/Animatingcode