Procházet zdrojové kódy

Fallback to size of image if no pixel size can be determined

onevcat před 1 rokem
rodič
revize
5e53d59c85
1 změnil soubory, kde provedl 11 přidání a 4 odebrání
  1. 11 4
      Sources/Image/Image.swift

+ 11 - 4
Sources/Image/Image.swift

@@ -93,11 +93,18 @@ extension KingfisherWrapper where Base: KFCrossPlatformImage {
     }
     }
     
     
     var size: CGSize {
     var size: CGSize {
-        return base.representations.reduce(.zero) { size, rep in
-            let width = max(size.width, CGFloat(rep.pixelsWide))
-            let height = max(size.height, CGFloat(rep.pixelsHigh))
-            return CGSize(width: width, height: height)
+        let pixelSize = base.representations.reduce(.zero) { size, rep in
+            CGSize(
+                width: max(size.width, CGFloat(rep.pixelsWide)),
+                height: max(size.height, CGFloat(rep.pixelsHigh))
+            )
         }
         }
+        return pixelSize == .zero ? base.representations.reduce(.zero) { size, rep in
+            CGSize(
+                width: max(size.width, CGFloat(rep.size.width)),
+                height: max(size.height, CGFloat(rep.size.height))
+            )
+        } : pixelSize
     }
     }
     #else
     #else
     var cgImage: CGImage? { return base.cgImage }
     var cgImage: CGImage? { return base.cgImage }