Skip to content

Backport of SwiftUI.AsyncImage to iOS 14, macOS 11, tvOS 14 and watchOS 7 and earlier.

License

Notifications You must be signed in to change notification settings

amkulikov/SBPAsyncImage

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SBPAsyncImage

Swift 5.4 SwiftUI Swift Package Manager Lincense

Backport of SwiftUI.AsyncImage to iOS 14, macOS 11, tvOS 14 and watchOS 7 and earlier.

AsyncImage is a view that asynchronously loads and displays an image.
However, AsyncImage is available from iOS 15, macOS 12, tvOS 15, and watchOS 8.
SBPAsyncImage provides interface and behavior of AsyncImage to earlier OS.

A Work In Progress

SBPAsyncImage is still in active development.
Please file all bugs, issues, and suggestions as an Issue in the GitHub repository.

Installation

// swift-tools-version:5.4
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "SBPAsyncImageExample",
    platforms: [
        .iOS(.v13),
        .macOS(.v10_15),
        .tvOS(.v13),
        .watchOS(.v6),
    ],
    dependencies: [
        .package(url: "https://github.com/yutailang0119/SBPAsyncImage", .exact("0.1.0")),
    ],
    targets: [
        .target(
            name: "SBPAsyncImageExample",
            dependencies: ["SBPAsyncImage"]),
    ]
)

Usage

import SwiftUI
import SBPAsyncImage

struct ContentView: View {
    var body: some View {
        BackportAsyncImage(url: URL(string: "https://example.com/icon.png"))
            .frame(width: 200, height: 200)
    }
}

Custom placeholder

import SwiftUI
import SBPAsyncImage

struct ContentView: View {
    var body: some View {
        BackportAsyncImage(url: URL(string: "https://example.com/icon.png")) { image in
            image.resizable()
        } placeholder: {
            ProgressView()
        }
        .frame(width: 50, height: 50)
    }
}

Author

Yutaro Muta

License

The project is available under MIT Licence

About

Backport of SwiftUI.AsyncImage to iOS 14, macOS 11, tvOS 14 and watchOS 7 and earlier.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 100.0%