2017-04-16 32 views
0

我想在動畫期間更改imageimageView。我有一個imageView,我的動畫帶來了這個imageView。在此動畫期間,我需要將新照片加載到此imageView(從互聯網下載之後),但在任何時候嘗試這樣做時,此imageView回到第一位置。如何在沒有此問題的情況下加載新圖片?如何更新圖像在UIView動畫中查看

我的代碼:

負荷圖像功能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) 

} 

回答

1

我要去猜測,你的圖像視圖定位在開始故事板使用自動佈局約束。當您更改圖像視圖的圖像時,會導致佈局發生;這意味着自動佈局約束接管並將圖像視圖放置在動畫開始之前的位置。

道德很簡單:如果通過自動佈局約束來定位該視圖,則不要試圖爲視圖的動畫center(或framebounds)。您可以改爲動畫限制