![](/img/trans.png)
[英]How do you animate the sublayers of the layer of a UIView during a UIView animation?
[英]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
(或frame
或bounds
),則不要嘗試為其設置動畫。 您可以改為設置其約束的動畫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.