私は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呼び出しはまだ呼び出されていません。
スクリーンショット:それは再び自動的に古い画像に戻って変更した後
数秒:
削除ボタンをクリックした後。
なぜこの出来事はありますか? viewDidLayoutSubviewsが2回以上呼び出していることがわかりました。
私はXcode 8.3 Betaを使用しています。
この画像ビューの使用方法は何ですか 'tempProfileImage' –
これはuserdefaultsに保存されています。これは、変更された画像を他の画面に速く表示するためのものです。 –
問題の詳細な説明は表示されません。さまざまな画像ビューを説明し、それらがストーリーボードにどのように設定されているか、さまざまな画像ビューを表示/非表示するALLコードを投稿する必要があります。ライオンには良い点があります。あなたが現在の画像を表示する単一の画像ビューを持つほうが良いと思われます。それがプレースホルダの場合は、それを表示し、カスタム画像の場合はそれを表示します。 –