利用 UIImageView 實現多張圖片連續播放的動畫

如何在app中放gif動圖

下載一張喜歡的gif

小小兵喜歡吃banana,所以挑了張banana的gif

把 gif轉成一張張png圖檔

轉成png後,可以知道banana的gif動態是由8張圖構成。
把8張圖拉進Xcode專案的Assets.xcassets中

開始寫程式

生成一個用來顯示香蕉動圖的UIImageView後,貼在View上。
再生成一個裝香蕉動圖的的UIImage他有一個method叫animatedImageNamed(_:duration:)可以生成和回傳一個動態圖片。
參數傳入圖片名稱,和動畫持續時間 (以秒為單位)。圖片名稱只要輸入前面的部分,animatedImageNamed會自動幫忙補上後面的數字

class func animatedImageNamed(_ name: String, duration: TimeInterval) -> UIImage?

最後讓UIImageView的image等於UIImage,也就是讓bananaImageView顯示香蕉動圖

//生成ImageView
let bananaImageView = UIImageView(frame: CGRect(x: 345, y: 54, width: 30, height: 30))

//把香蕉ImageView貼在View上
view.addSubview(bananaImageView)

//生成裝香蕉動圖的物件,設定跑10秒
let animatedImage = UIImage.animatedImageNamed("2e296252fda9478e872bbd809327076as66BkQL5UDSEm65N-", duration: 10)

//把生成的香蕉動圖設定為 bananaImageView 的圖片。這樣bananaImageView 就會顯示這個動畫
bananaImageView.image = animatedImage

成品

--

--