簡體   English   中英

如何在UIView動畫期間更新圖像視圖

[英]How to update image View during UIView Animation

我想在動畫過程中更改imageView中的image 我有一個imageView ,我的動畫使這個imageView下降了。 在此動畫期間,我需要將新照片加載到該imageView (從Internet下載后),但是在任何時候嘗試執行此操作時,此imageView 都會返回到第一位置 沒有這個問題,如何加載新圖像?

我的代碼:

viewDidLoad加載圖像功能

override func viewDidLoad() {
    super.viewDidLoad()

    viewModel.downloadImage({ [weak self] image in
        DispatchQueue.main.async {
            self?.userImageView.image = image
        }
    })
}

我在viewDidAppear開始的動畫方法

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    UIView.animate(withDuration: 5, delay: 0, options: [.curveEaseOut, .allowAnimatedContent, .allowUserInteraction], animations: { [unowned self] _ in
            self.userProfileImageView.center.y = 300
        }, completion: nil) 

}

我猜測您的圖像視圖是使用自動布局約束放置在情節提要中的。 當您更改圖像視圖的圖像時,這會導致布局發生; 這意味着自動布局約束將接管動畫視圖並將其放置在動畫開始之前的位置。

道德很簡單:如果通過自動布局約束定位視圖的center (或framebounds ),則不要嘗試為其設置動畫。 您可以改為設置其約束的動畫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM