2015-10-20 2 views
6

Ich habe eine * .gif-Datei, die ich in einer UIImageView anzeigen möchte. Ich habe versucht, die Bibliothek FLAnimatedImage, Code unten. Ergebnis ist nur ein statisches Bild.Eine * .gif-Datei in einer UIImageView in swift kann nicht angezeigt werden

Öffnen Sie eine alternative Möglichkeit, animierendes Gif direkt aus einer gif-Datei anzuzeigen. Ich benutze Swift.

+0

Sie können diese Bibliothek verwenden https://github.com/Flipboard/FLAnimatedImage –

+0

laden Sie GIF-Bild in Swift: https://iosdevcenters.blogspot.com/2016/08/load-gif-image-in-swift_22. html –

Antwort

9

Ich empfehle dringend, SwiftGif zu verwenden.

Import der Gif.swift in Ihrem Projekt und wie folgt vor:

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

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

Oder Sie können [this] (http://stackoverflow.com/questions/24485308/how-to-show-gif-into-uiimageview-in-swift) überprüfen. –

0

In meinem Fall i SDWebImage alle Bilder in app bin für verwalten. Inklusive haben sd_animatedGIFNamed func

installieren 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. 
    } 




} 

einen View-Controller erstellen, wie im oben angezeigten Code ein. Hinweis: - Legen Sie beim Erstellen einer Bildansicht im Storyboard die Klasse der Bildansicht als FLanimatedImageView fest.

Es wird funktionieren.

Hier Loader.gif ist das GIF-Bild.

Verwandte Themen