无法在 swift 的 UIImageView 中显示 *.gif 文件
Unable to show a *.gif file in a UIImageView in swift
我有一个 *.gif 文件,我想在 UIImageView
中显示。我已经尝试了下面的库 FLAnimatedImage,代码。结果只是一张静态图片。
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.
我强烈推荐你使用SwiftGif。
在您的项目中导入 Gif.swift
并执行以下操作:
// Returns an animated UIImage
let jeremyGif = UIImage.gifWithName("jeremy")
// Use the UIImage in your UIImageView
let imageView = UIImageView(image: jeremyGif)
在我的例子中,我使用 SDWebImage
来管理应用程序中的所有图像。包容有sd_animatedGIFNamed
func
安装pod 'SDWebImage'
//
// 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.
}
}
创建一个视图控制器,如上面的代码所示。
注意:- 在故事板中创建图像视图时,将图像视图的 class 设置为 FLanimatedImageView。
它会起作用的。
这里Loader.gif是GIF图
我有一个 *.gif 文件,我想在 UIImageView
中显示。我已经尝试了下面的库 FLAnimatedImage,代码。结果只是一张静态图片。
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.
我强烈推荐你使用SwiftGif。
在您的项目中导入 Gif.swift
并执行以下操作:
// Returns an animated UIImage
let jeremyGif = UIImage.gifWithName("jeremy")
// Use the UIImage in your UIImageView
let imageView = UIImageView(image: jeremyGif)
在我的例子中,我使用 SDWebImage
来管理应用程序中的所有图像。包容有sd_animatedGIFNamed
func
安装pod 'SDWebImage'
//
// 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.
}
}
创建一个视图控制器,如上面的代码所示。 注意:- 在故事板中创建图像视图时,将图像视图的 class 设置为 FLanimatedImageView。
它会起作用的。
这里Loader.gif是GIF图