Amo*_*gar 5 animated-gif uiimageview ios xcasset swift2.3
我试图将我的@ 2x和@ 3x GIF图像放入Xcode的Assets文件夹中.我尝试过以下链接,但它对我不起作用. 链接1和链接2.
我目前正在加载GIF文件,方法是将它们添加到我的项目包中并使用它来访问它
let bundleURL = NSBundle.mainBundle()
.URLForResource("phone_animation", withExtension: "gif")
Run Code Online (Sandbox Code Playgroud)
但我想从我的Assets文件夹加载它们.有没有办法可以做到?在将其添加到Assets后,如何将它们加载到我的imageview中?
And*_*ini 10
根据您的评论,这是您正在搜索的解决方案:
使用SwiftGif进行UIImage的扩展:
extension UIImage {
public class func gif(asset: String) -> UIImage? {
if let asset = NSDataAsset(name: asset) {
return UIImage.gif(data: asset.data)
}
return nil
}
}
Run Code Online (Sandbox Code Playgroud)然后使用扩展程序调整@Ganesh建议,您可能会执行以下操作:
imageView.image = UIImage.gif(asset: "YOUR_GIF_NAME_FROM_ASSET")
Run Code Online (Sandbox Code Playgroud)要将 gif 加载到 UIImage 中,我建议使用两个库
1)你可以使用这个库
只需将其加载到 UIImageView
let imageData = try! Data(contentsOf: Bundle.main.url(forResource: "logo-animation", withExtension: "gif")!)
let gifImage = UIImage.gif(data: data!)
imageView.image = gifImage
Run Code Online (Sandbox Code Playgroud)
2)或者你可以使用这个库
import FLAnimatedImage
Run Code Online (Sandbox Code Playgroud)
然后添加插座
@IBOutlet weak var fashImage: FLAnimatedImageView!
Run Code Online (Sandbox Code Playgroud)
然后使用此代码
let imageData = try! Data(contentsOf: Bundle.main.url(forResource: "logo-animation", withExtension: "gif")!)
fashImage.animatedImage = FLAnimatedImage(animatedGIFData: imageData)
Run Code Online (Sandbox Code Playgroud)
希望能帮到你
| 归档时间: |
|
| 查看次数: |
8400 次 |
| 最近记录: |