真心的認為Lottie是一款十分優秀且實用的動畫開發庫,不隻對于iOS和android原生開發者來說其讓複雜動畫的實作幾乎沒有成本,對于設計師來說,它的所見即所得,不需導出幀圖像等優勢也十分明顯。本篇部落客要以iOS平台為例,簡單介紹和總結Lottie動畫庫的使用方式。
LottieFiles是一個線上的測試Lottie動畫的網站,并且其上面也提供了許多常用的Lottie動畫元件。
先來看一個簡單的小例子,我在LottieFiles上找了一個騎行動畫的JSON檔案
這是一個比較炫酷的騎行動畫,試想一下,如果使用GIF或幀動畫來實作,需要素材的大小可能要遠遠超過136k。将下載下傳的JSON檔案添加到iOS項目中,之後就像使用圖檔一樣的來使用它即可,代碼如下:
動畫效果如下圖:

無論是從流暢度還是性能上,動畫效果都要比GIF圖檔好許多。
首先LOTAnimationView類是顯示Lottie動畫的視圖類,從源代碼中看它是繼承自LOTView,不要慌,這個LOTView并不是什麼稀奇古怪的類,它其實就是為了代碼統一,是UIView或NSView的别名而已。 如果你将動畫直接拖入到主工程下面,那麼可以直接使用動畫JSON檔案名來進行動畫的建立,方法如下:
你也可以從自定義的Bundle或者使用其他方式來加載JSON檔案:
其實無論上面哪種方式加載動畫,都是通過LOTComposition元件類執行個體化的,你也可以直接通過這個類來建構動畫視圖:
JSON檔案中包含的資訊非常豐富,會與LOTComposition執行個體進行映射,例如動畫的時長,起始幀和結束幀,寬高尺寸等。
構造出LOTAnimationView執行個體後,需要調用方法進行動畫的播放,下面列出了LOTAnimationView中的常用屬性與方法: