SDWebImageSwiftUI
SDWebImageSwiftUI copied to clipboard
SDImageResizingTransformer causes image to flicker when view updates
When using SDImageResizingTransformer in a view whose state constantly get updated, some slow loading images will flicker.
Example Video: https://streamable.com/cvyi05
Code to reproduce:
import SwiftUI
import SDWebImageSwiftUI
struct ContentView: View {
@State var someState = 1
let imageSize = UIScreen.main.bounds.size.width - 50
let imageURL = URL(string: "https://www.trekcast.de/wp-content/uploads/2021/02/trekcast2014-1400.png")
var imageResizingTransformer: SDImageResizingTransformer {
let screenScale = UIScreen.main.scale
let size = CGSize(width: imageSize * screenScale, height: imageSize * screenScale)
return SDImageResizingTransformer(size: size, scaleMode: .aspectFill)
}
let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect()
var body: some View {
VStack {
WebImage(url: imageURL, context: [.imageTransformer: imageResizingTransformer])
.resizable()
.frame(width: imageSize, height: imageSize)
Text("\(someState)")
}
.onReceive(timer) { _ in
someState += 1
}
}
}
Occurred with Version SDWebImageSwiftUI 2.02 on Xcode 12.5.1 / iOS 14.5
same issue