使用Lottie作加載動畫

使用Lottie作加載動畫

先給出Lottie的連接:Lottie-iOSios

使用Lottie作動畫的好處:
  1. 多平臺統一,包括使用和動畫效果
  2. 不用導入圖片,只須要一個json文件(大小隻有幾kb到幾十kb),有效減少應用安裝包體積
  3. 程序員幾乎不用寫動畫代碼,也能達到炫酷的動畫效果

最主要的兩個類是AnimationViewAnimationAnimationView是執行動畫的View,Animation即所執行的動畫。例如加載動畫:git

建立一個AnimationView程序員

let animationView: AnimationView = {
    let animationView = AnimationView()
    animationView.size = CGSize(width: 170, height: 170)
    return animationView
}()
複製代碼

建立一個Animation實例,並將它賦值給animationView的animation屬性github

let animation = Animation.named("animationName")

animationView.animation = animation
複製代碼

其中animationNamejson文件名,能夠在這裏下載,也能夠本身製做。json

下面就能夠在須要的地方執行動畫了bash

animationView.play(fromProgress: 0, toProgress: 1, loopMode: .loop, completion: nil)
複製代碼

動畫能夠終止或暫停async

animationView.stop()


animationView.pause()

複製代碼

最後,這裏是一個使用Lottie作的loadingView庫。能夠在LottieFiles官網下載動畫的json文件導入項目。oop

使用pod安裝動畫

pod 'LottieLoadingView'
複製代碼

導入ui

import LottieLoadingView
複製代碼
// 設置動畫
AQLoadingView.shared.animationName = "935-loading"
// 開始加載
AQLoadingView.startLoading()
// 處理任務    
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 5) {
    // 結束加載
    AQLoadingView.endLoading()
}

複製代碼

使用Lottie作加載動畫

先給出Lottie的連接:Lottie-iOS

使用Lottie作動畫的好處:
  1. 多平臺統一,包括使用和動畫效果
  2. 不用導入圖片,只須要一個json文件(大小隻有幾kb到幾十kb),有效減少應用安裝包體積
  3. 程序員幾乎不用寫動畫代碼,也能達到炫酷的動畫效果

最主要的兩個類是AnimationViewAnimationAnimationView是執行動畫的View,Animation即所執行的動畫。例如加載動畫:

建立一個AnimationView

let animationView: AnimationView = {
    let animationView = AnimationView()
    animationView.size = CGSize(width: 170, height: 170)
    return animationView
}()
複製代碼

建立一個Animation實例,並將它賦值給animationView的animation屬性

let animation = Animation.named("animationName")

animationView.animation = animation
複製代碼

其中animationNamejson文件名,能夠在這裏下載,也能夠本身製做。

下面就能夠在須要的地方執行動畫了

animationView.play(fromProgress: 0, toProgress: 1, loopMode: .loop, completion: nil)
複製代碼

動畫能夠終止或暫停

animationView.stop()


animationView.pause()

複製代碼

最後,這裏是一個使用Lottie作的loadingView庫。能夠在LottieFiles官網下載動畫的json文件導入項目。

使用pod安裝

pod 'LottieLoadingView'
複製代碼

導入

import LottieLoadingView
複製代碼
// 設置動畫
AQLoadingView.shared.animationName = "935-loading"
// 開始加載
AQLoadingView.startLoading()
// 處理任務    
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 5) {
    // 結束加載
    AQLoadingView.endLoading()
}

複製代碼

效果圖:

loading
相關文章
相關標籤/搜索