ソースを参照

Create and call progressive update image delegate

onevcat 3 年 前
コミット
d6b6304ea0

+ 1 - 0
Sources/Extensions/ImageView+Kingfisher.swift

@@ -313,6 +313,7 @@ extension KingfisherWrapper where Base: KFCrossPlatformImageView {
         }
 
         if let provider = ImageProgressiveProvider(options, refresh: { image in
+            options.progressiveJPEG?.onImageUpdated(image)
             self.base.image = image
         }) {
             options.onDataReceived = (options.onDataReceived ?? []) + [provider]

+ 2 - 0
Sources/Image/ImageProgressive.swift

@@ -47,6 +47,8 @@ public struct ImageProgressive {
     /// Minimum time interval for each scan
     let scanInterval: TimeInterval
     
+    public let onImageUpdated = Delegate<KFCrossPlatformImage, Void>()
+    
     public init(isBlur: Bool,
                 isFastestScan: Bool,
                 scanInterval: TimeInterval