2017-10-10 14 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呼び出しはまだ呼び出されていません。

スクリーンショット:それは再び自動的に古い画像に戻って変更した後

enter image description here

数秒:

Initial Setup

削除ボタンをクリックした後。

enter image description here

なぜこの出来事はありますか? viewDidLayoutSubviewsが2回以上呼び出していることがわかりました。
私はXcode 8.3 Betaを使用しています。

+1

この画像ビューの使用方法は何ですか 'tempProfileImage' –

+0

これはuserdefaultsに保存されています。これは、変更された画像を他の画面に速く表示するためのものです。 –

+0

問題の詳細な説明は表示されません。さまざまな画像ビューを説明し、それらがストーリーボードにどのように設定されているか、さまざまな画像ビューを表示/非表示するALLコードを投稿する必要があります。ライオンには良い点があります。あなたが現在の画像を表示する単一の画像ビューを持つほうが良いと思われます。それがプレースホルダの場合は、それを表示し、カスタム画像の場合はそれを表示します。 –

答えて

0

あなたは私があなたのImageViewのにあなたのプレースホルダイメージを割り当てる意味のように、

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

画像何かを削除する必要があります!それでおしまい! 2つのイメージビューを取る必要はありません!

関連する問題