UsingSpringWithDamping
值位于0.0 到 1.0 之間,越小越會(huì)有彈跳效果。為1.0時(shí),幾乎沒(méi)有彈跳效果。
UIView.animate(withDuration: 3, delay: 0.5, usingSpringWithDamping: 0.1, initialSpringVelocity: 0.0, options: [], animations: {
self.loginButton.center.y -= 50
self.loginButton.alpha = 1
}, completion: nil)

圖1
UIView.animate(withDuration: 3, delay: 0.5, usingSpringWithDamping: 1, initialSpringVelocity: 0.0, options: [], animations: {
self.loginButton.center.y -= 50
self.loginButton.alpha = 1
}, completion: nil)

圖2
UsingSpringWithDamping:該阻尼值影響所有屬性的動(dòng)畫(huà)效果,因此圖1中的透明度也有彈跳變化。
initialSpringVelocity
數(shù)值越大,動(dòng)畫(huà)的開(kāi)始速度越快,也就需要更長(zhǎng)的時(shí)間才能停下。
UIView.animate(withDuration: 3, delay: 0.5, usingSpringWithDamping: 0.1, initialSpringVelocity: 1, options: [], animations: {
self.loginButton.center.y -= 50
self.loginButton.alpha = 1
}, completion: nil)

圖3
UIView.animate(withDuration: 3, delay: 0.5, usingSpringWithDamping: 0.1, initialSpringVelocity: 100, options: [], animations: {
self.loginButton.center.y -= 50
self.loginButton.alpha = 1
}, completion: nil)

圖4
圖4比圖3中的登錄按鈕彈跳速度更快,更久停下來(lái),而且初始時(shí)的幅度更大。