利用 UIImageView 實現多張圖片連續播放的動畫
如何在app中放gif動圖
Published in
Jan 19, 2024
下載一張喜歡的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