@ 2xおよび@ 3xGIF画像をXcodeのAssetsフォルダーに入れようとしています。次のリンクを試しましたが、うまくいきませんでした。 リンク1 および リンク2 。
現在、GIFファイルをプロジェクトバンドルに追加してロードし、これを使用してアクセスしています
let bundleURL = NSBundle.mainBundle()
.URLForResource("phone_animation", withExtension: "gif")
しかし、Assetsフォルダーからそれらをロードしたいと思います。私にできる方法はありますか?また、アセットに追加した後、それらをイメージビューにロードするにはどうすればよいですか?
あなたのコメントによると、これはあなたが探している解決策です:
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
}
}
次に、@ Ganeshの提案を拡張機能で調整すると、次のようになります。
imageView.image = UIImage.gif(asset: "YOUR_GIF_NAME_FROM_ASSET")
GifをUIImageにロードするには、2つのライブラリをお勧めします
1)これを使用できます ライブラリ
uIImageViewにロードするだけです
let imageData = try! Data(contentsOf: Bundle.main.url(forResource: "logo-animation", withExtension: "gif")!)
let gifImage = UIImage.gif(data: data!)
imageView.image = gifImage
2)または、これを使用できます library
import FLAnimatedImage
次にコンセントを追加します
@IBOutlet weak var fashImage: FLAnimatedImageView!
次に、このコードを使用します
let imageData = try! Data(contentsOf: Bundle.main.url(forResource: "logo-animation", withExtension: "gif")!)
fashImage.animatedImage = FLAnimatedImage(animatedGIFData: imageData)
これがお役に立てば幸いです