SwiftUI Image loading and Animation framework powered by SDWebImage
Go to file
DreamPiggy a7195459d9 Update readme to fix some typos 2019-08-09 18:29:29 +08:00
.swiftpm/xcode/package.xcworkspace Add Swift Package Manager support 2019-08-09 16:06:53 +08:00
Example Update readme to fix some typos 2019-08-09 18:29:29 +08:00
SDWebImageSwiftUI Update to the latest Xcode 11-beta5 syntax of SwiftUI 2019-08-09 18:06:47 +08:00
SDWebImageSwiftUI.xcodeproj Update the licences description in source files 2019-08-09 17:17:08 +08:00
.gitignore Update the Travis-CI script 2019-08-09 16:25:52 +08:00
.travis.yml Fix the Travis-CI script 2019-08-09 16:32:05 +08:00
Cartfile Add the Xcode project to support Carthage. Fix the build issue on macOS/tvOS/watchOS 2019-08-09 15:58:21 +08:00
Cartfile.resolved Add the Xcode project to support Carthage. Fix the build issue on macOS/tvOS/watchOS 2019-08-09 15:58:21 +08:00
LICENSE Initial commit 2019-08-07 18:10:05 +08:00
Package.resolved Add Swift Package Manager support 2019-08-09 16:06:53 +08:00
Package.swift Add Swift Package Manager support 2019-08-09 16:06:53 +08:00
README.md Update readme to fix some typos 2019-08-09 18:29:29 +08:00
SDWebImageSwiftUI.podspec Update the information from personal repo to SDWebImage organization 2019-08-09 17:11:33 +08:00
_Pods.xcodeproj Initial commit 2019-08-07 18:10:05 +08:00

README.md

SDWebImageSwiftUI

CI Status Version License Platform Carthage compatible SwiftPM compatible

What's for

This is an experimental project for SDWebImage.

It aims to ensure the following function available for users and try to do some experiments for Swift platform.

  • Swift Package Manager integration
  • SwiftUI compatibility
  • Swift source code compatibility

Note we do not guarantee the public API stable for current status. Since Xcode 11 is not get released and SwiftUI is a new platform for us.

Requirements

  • Xcode 11+
  • iOS 13+
  • macOS 10.15+
  • tvOS 13+
  • watchOS 6+

Installation

CocoaPods

SDWebImageSwiftUI is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'SDWebImageSwiftUI'

Carthage

SDWebImageSwiftUI is available through Carthage.

github "SDWebImage/SDWebImageSwiftUI"

Swift Package Manager

SDWebImageSwiftUI is available through Swift Package Manager.

let package = Package(
    dependencies: [
        .package(url: "https://github.com/SDWebImage/SDWebImageSwiftUI.git", from: "0.1")
    ],
)

Usage

  • Using WebImage to load network image

It supports the placeholder and detail options control for image loading as SDWebImage.

var body: some View {
    WebImage(url: URL(string: "https://nokiatech.github.io/heif/content/images/ski_jump_1440x960.heic")!)
        .scaledToFit()
        .frame(width: 300, height: 300, alignment: .center)
}
  • Using AnimatedImage to play animation
var body: some View {
    AnimatedImage(url: URL(string: "https://raw.githubusercontent.com/liyong03/YLGIFImage/master/YLGIFImageDemo/YLGIFImageDemo/joy.gif")!)
    AnimatedImage(data: try! Data(contentsOf: URL(fileURLWithPath: "/tmp/foo.webp")))
}

It supports both image url or image data for animated image format. Which use the SDWebImage's Animated ImageView for internal implementation.

Demo

To run the example using SwiftUI, following the steps:

cd Example
pod install

Then open the Xcode Workspace to run the demo application.

Screenshot

Author

DreamPiggy

License

SDWebImageSwiftUI is available under the MIT license. See the LICENSE file for more info.