diff --git a/UIImageViewAligned.swift b/UIImageViewAligned.swift index 3df8c92..75a561f 100644 --- a/UIImageViewAligned.swift +++ b/UIImageViewAligned.swift @@ -195,17 +195,24 @@ open class UIImageViewAligned: UIImageView { open override func didMoveToSuperview() { super.didMoveToSuperview() - layer.contents = nil + invalidateContents() } open override func didMoveToWindow() { super.didMoveToWindow() - layer.contents = nil + if #available(iOS 11, *) { let currentImage = realImageView?.image image = nil realImageView?.image = currentImage } + + invalidateContents() + } + + open override func tintColorDidChange() { + super.tintColorDidChange() + invalidateContents() } private func setup(image: UIImage? = nil, highlightedImage: UIImage? = nil) { @@ -235,11 +242,16 @@ open class UIImageViewAligned: UIImageView { } realImageView?.frame = realFrame.integral - - // Make sure we clear the contents of this container layer, since it refreshes from the image property once in a while. - layer.contents = nil - if #available(iOS 11, *) { - super.image = nil + invalidateContents() + } + + private func invalidateContents() { + if #available(iOS 13, *) { + self.layer.contents = CALayer() + } else if #available(iOS 11, *) { + super.image = nil + } else { + layer.contents = nil } } diff --git a/UIImageViewAlignedSwift.podspec b/UIImageViewAlignedSwift.podspec index 0818cac..e9de67b 100644 --- a/UIImageViewAlignedSwift.podspec +++ b/UIImageViewAlignedSwift.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "UIImageViewAlignedSwift" - s.version = "0.7.0" + s.version = "0.7.1" s.summary = "A UIImageView subclass which allows you to align the image left/right/top/bottom, even when contentMode is AspectFit." s.description = "It is a subclass of UIImageView that allows you to customize the alignment of the displayed image inside the view's frame. This works even if the contentMode is set to AspectFit, AspectFill or ScaleToFill." s.homepage = "https://github.com/sochalewski/UIImageViewAlignedSwift"