Просмотр исходного кода

Merge pull request #735 from onevcat/fix/indicator-frame

Respect input indicator frame
Wei Wang 8 лет назад
Родитель
Сommit
4ffd349ce3
2 измененных файлов с 5 добавлено и 2 удалено
  1. 4 1
      Sources/ImageView+Kingfisher.swift
  2. 1 1
      Sources/Indicator.swift

+ 4 - 1
Sources/ImageView+Kingfisher.swift

@@ -204,7 +204,10 @@ extension Kingfisher where Base: ImageView {
             
             // Add new
             if var newIndicator = newValue {
-                newIndicator.view.frame = base.frame
+                // Set default indicator frame if the view's frame not set.
+                if newIndicator.view.frame != .zero {
+                    newIndicator.view.frame = base.frame
+                }
                 newIndicator.viewCenter = CGPoint(x: base.bounds.midX, y: base.bounds.midY)
                 newIndicator.view.isHidden = true
                 base.addSubview(newIndicator.view)

+ 1 - 1
Sources/Indicator.swift

@@ -164,6 +164,7 @@ class ImageIndicator: Indicator {
 
         animatedImageIndicatorView = ImageView()
         animatedImageIndicatorView.image = image
+        animatedImageIndicatorView.frame = CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height)
         
         #if os(macOS)
             // Need for gif to animate on macOS
@@ -171,7 +172,6 @@ class ImageIndicator: Indicator {
             self.animatedImageIndicatorView.canDrawSubviewsIntoLayer = true
         #else
             animatedImageIndicatorView.contentMode = .center
-            
             animatedImageIndicatorView.autoresizingMask = [.flexibleLeftMargin,
                                                            .flexibleRightMargin,
                                                            .flexibleBottomMargin,