2017-10-10 125 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!而已!无需拍摄两张图像!

相关问题