Swift 切换当前图像和上一图像:UIImageView

Swift 切换当前图像和上一图像:UIImageView,swift,uiimageview,extension-methods,Swift,Uiimageview,Extension Methods,当我按下按钮时,我尝试在uiimageview上切换图像。为了确保uiimageview切换与给定的外部数据(例如URL、图像资产名称)无关,我是否需要应用自定义属性来保存以前的图像而不考虑网络条件 下面是我的工作 extension UIImageView { func zoomIn(originalImage: UIImage?, finalImage: UIImage?, duration: TimeInterval, delay: TimeInterval = 0.0)

当我按下按钮时,我尝试在uiimageview上切换图像。为了确保uiimageview切换与给定的外部数据(例如URL、图像资产名称)无关,我是否需要应用自定义属性来保存以前的图像而不考虑网络条件

下面是我的工作

extension UIImageView {
    
    func zoomIn(originalImage: UIImage?, finalImage: UIImage?, duration: TimeInterval, delay: TimeInterval = 0.0) {
        self.image = originalImage
        updateConstraints()
        guard let image = finalImage else { return }
        let imageView = UIImageView(image: image)
        imageView.contentMode = .scaleAspectFill
        imageView.translatesAutoresizingMaskIntoConstraints = false
        addSubview(imageView)
        NSLayoutConstraint.activate([imageView.topAnchor.constraint(equalTo: self.topAnchor),
                                     imageView.bottomAnchor.constraint(equalTo: self.bottomAnchor),
                                     imageView.leadingAnchor.constraint(equalTo: self.leadingAnchor),
                                     imageView.trailingAnchor.constraint(equalTo: self.trailingAnchor)])
        
        imageView.alpha = 0
        imageView.transform = CGAffineTransform.init(scaleX: 0.001, y: 0.001)
        UIView.animate(withDuration: duration,
                       delay: delay,
                       animations: {
                        imageView.transform = CGAffineTransform.identity
                        imageView.alpha = 1
                       }) { (true) in
            
        }
    }
}

如果图像视图从未高亮显示(即,它不在表或集合视图单元格中),则可以在图像视图的
高亮显示图像中保留一个图像。或者您可以编写一个UIImageView子类来维护额外的图像属性。