2017-10-10 56 views
-1

我正在使用UIImageView來更改用戶的圖像。目前用戶可以選擇刪除已經存在的圖像。對於這個我有一個UIButton名爲「刪除照片」,並在動作的代碼寫爲:UIImageView首次顯示圖像,然後突然回到Swift3中的舊圖像

@IBAction func removeUserPhoto(_ sender: UIButton) { 
    self.profilePhoto.image = UIImage (named: "defaultProfilePic") 
    self.photoChanged = true 
    let imageData: Data = UIImagePNGRepresentation(profilePhoto.image!)! 
    tempProfileImage = imageData 
    self.removePhoto.isHidden = true 
    } 

當我點擊圖像設置爲defaultProfilePic刪除圖像上,但幾秒鐘後圖像視圖再次顯示用戶已移除的舊圖像。

注意:尚未調用API調用。

截圖:

Initial Setup

點擊刪除按鈕後:

enter image description here

幾秒鐘後,再次變回舊的圖像後自動。

enter image description here

這究竟是爲什麼?我發現viewDidLayoutSubviews正在調用兩次或更多次。
我正在使用Xcode 8.3 Beta。

+1

這是什麼圖像視圖'tempProfileImage' –

+0

它被存儲到userdefaults。它用於快速顯示其他屏幕中更改的圖像。 –

+0

您沒有提供完整的問題描述。您需要描述不同的圖像視圖,它們如何在故事板中設置,併發布顯示/隱藏不同圖像視圖的所有代碼。獅子有一個好點。看起來像你最好有一個顯示當前圖像的圖像視圖。如果它是佔位符,則顯示它,如果它是自定義圖像,則顯示該圖像。 –

回答

0

您應該刪除圖像類似,

yourImageView.image = UIImage.init(named: "your place holder image name") 

我的意思是你的地方持有人圖像分配給您的ImageView!而已!無需拍攝兩張圖像!

相關問題