leoz / CachedImage

Asynchronous Image Loading from URL in SwiftUI

Home Page:https://www.vadimbulavin.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CachedImage

Build License

🔭 Overview

CachedImage is a SwiftUI component to asynchronously load and display an image provided by its URL.

This package is based on the AsyncImage project published by Vadim Bulavin and described in the Asynchronous Image Loading from URL in SwiftUI article.

🛠️ Usage

Quick Start

import CachedImage

let images = (0...20).map {
    "https://picsum.photos/800/600?random=\($0)"
}
let imageURLs = images.map {
    URL(string: $0)!
}

struct ContentView: View {
    var body: some View {
        List(imageURLs, id: \.self) { url in
            CachedImage(
                url: url,
                content: { image in
                    image
                        .resizable()
                        .aspectRatio(contentMode: .fit)
                },
                placeholder: {
                    Text("Loading ...")
                }
            )
            .scaledToFit()
        }
    }
}

Demo Program

Check the demo project provided here: Demo.

✍️ Author

Vadim Bulavin & Leonid Zolotarev

📃 License

CachedImage is available under the Unlicense. See the LICENSE file for more info.

About

Asynchronous Image Loading from URL in SwiftUI

https://www.vadimbulavin.com/

License:The Unlicense


Languages

Language:Swift 100.0%