2015-10-20 24 views
6

我有一個* .gif文件,我想在UIImageView中顯示。我已經試過圖書館FLAnimatedImage,下面的代碼。結果只是一張靜態圖片。無法在swift中在UIImageView中顯示* .gif文件

class LoginVC: UIViewController, UITextFieldDelegate { 

    @IBOutlet weak var img_popup: FLAnimatedImageView! 

    var img_popupraw: FLAnimatedImage = FLAnimatedImage(animatedGIFData: NSData(contentsOfFile: "ShitTalk_LoadingAnimation.gif")) 

    override func viewDidLoad() { 
     img_popup.animatedImage = img_popupraw 
    } 
} 

可以通過任何其他方式直接從gif文件中顯示動畫gif。我正在使用Swift。

+0

您可以使用此庫https://github.com/Flipboard/FLAnimatedImage –

+0

在Swift中加載GIF圖像:https://iosdevcenters.blogspot.com/2016/08/load-gif-image-in-swift_22。 html –

回答

9

我強烈建議您使用SwiftGif

導入Gif.swift在您的項目並執行以下操作:

// Returns an animated UIImage 
let jeremyGif = UIImage.gifWithName("jeremy") 

// Use the UIImage in your UIImageView 
let imageView = UIImageView(image: jeremyGif) 
+0

或者你可以選擇[this](http://stackoverflow.com/questions/24485308/how-to-show-gif-into-uiimageview-in-swift)。 –

0

在我的情況下,我在應用程序中使用SDWebImage用於管理所有圖像。包容有sd_animatedGIFNamed FUNC

安裝pod 'SDWebImage'

0
// 
// ViewController.swift 
// Loader 
// 
// Created by Pawan Kumar on 28/09/17. 
// Copyright © 2017 Pawan Kumar. All rights reserved. 
// 

import UIKit 
import FLAnimatedImage 

class ViewController: UIViewController { 

    @IBOutlet weak var animatedImageView: FLAnimatedImageView! 
// @IBOutlet weak var checkImageView: FLAnimatedImageView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 


     let url = Bundle.main.path(forResource: "Loader", ofType: "gif") 
     print(url!) 

     let data=NSData(contentsOfFile: url!) 
     //print(data) 
     let fff=FLAnimatedImage(gifData: data as Data?) 
     let imageView=FLAnimatedImageView() 
     imageView.animatedImage=fff 
// 
//  imageView.frame=CGRect(x: animatedImageView.frame.minX, y: animatedImageView.frame.minY, width: animatedImageView.frame.width, height: animatedImageView.frame.height) 


     imageView.frame=CGRect(x: animatedImageView.frame.minX, y: animatedImageView.frame.minY, width: animatedImageView.frame.width, height: animatedImageView.frame.height) 

     print(imageView.currentFrameIndex) 
     imageView.clipsToBounds=true 
     self.view.addSubview(imageView) 

     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 




} 

創建視圖控制器如圖上面的代碼。 注意: - 在故事板中創建imageview的同時,將圖像視圖的類設置爲FLanimatedImageView。

它會工作。

這裏Loader.gif是GIF圖像。

相關問題