iOS動畫學(xué)習(xí)之讓圓由小變大

關(guān)鍵函數(shù)如下

func expand() {
  var expandAnimation: CABasicAnimation =     CABasicAnimation(keyPath: "path")
  expandAnimation.fromValue = ovalPathSmall.CGPath
  expandAnimation.toValue = ovalPathLarge.CGPath
  expandAnimation.duration = animationDuration
  expandAnimation.fillMode = kCAFillModeForwards
  expandAnimation.removedOnCompletion = false
  addAnimation(expandAnimation, forKey: nil)
}

關(guān)鍵代碼解釋:ovalPathSmall和ovalPathLarge如下:

 var ovalPathSmall: UIBezierPath {
    return UIBezierPath(ovalInRect: CGRect(x: 50.0, y: 50.0, width: 0.0, height: 0.0))
}

var ovalPathLarge: UIBezierPath {
    return UIBezierPath(ovalInRect: CGRect(x: 2.5, y: 2.5, width: 95.0, height: 95.0))
}

ovalPathSmall其實畫的是一個點,ovalPathLarge才是變大后的這個原(直徑95),圓心其實就位于ovalPathSmall所畫的這個點上

expandAnimation.fillMode = kCAFillModeForwards
expandAnimation.removedOnCompletion = false

確保動畫完成以后確保圓為變化后的大圓圖形。
簡單來說,動畫就是給定變化前后的圖形,變化交給系統(tǒng)來實現(xiàn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Core Animation Core Animation,中文翻譯為核心動畫,它是一組非常強大的動畫處理API,...
    45b645c5912e閱讀 3,165評論 0 21
  • 概覽 在iOS中隨處都可以看到絢麗的動畫效果,實現(xiàn)這些動畫的過程并不復(fù)雜,今天將帶大家一窺iOS動畫全貌。在這里你...
    Yiart閱讀 3,971評論 3 34
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,355評論 25 708
  • 講了動態(tài)規(guī)劃:一道題如何判斷用動態(tài)規(guī)劃來解,并且如何解,一共有以下幾個要素:動態(tài)規(guī)劃一般可以回答以下三個問題:a)...
    健時總向亂中忙閱讀 186評論 0 0
  • 今天是教師節(jié),小到網(wǎng)絡(luò)朋友圈大到時事政治都是關(guān)于對老師熱情洋溢的贊美。本來也沒想過寫關(guān)于這個話題,但還是勾起了對往...
    獨立行走的魚閱讀 489評論 4 6

友情鏈接更多精彩內(nèi)容