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.
- Xcode 11+
- iOS 13+
- macOS 10.15+
- tvOS 13+
- watchOS 6+
SDWebImageSwiftUI is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'SDWebImageSwiftUI'
SDWebImageSwiftUI is available through Carthage.
github "SDWebImage/SDWebImageSwiftUI"
SDWebImageSwiftUI is available through Swift Package Manager.
let package = Package(
dependencies: [
.package(url: "https://github.com/SDWebImage/SDWebImageSwiftUI.git", from: "0.1")
],
)
- 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.
To run the example using SwiftUI, following the steps:
cd Example
pod install
Then open the Xcode Workspace to run the demo application.
DreamPiggy
SDWebImageSwiftUI is available under the MIT license. See the LICENSE file for more info.