I load a UIImageView with an image depending on user interaction. When the parent view is initially displayed, no image has been selected and the imageview is black. If the user leaves that view and comes back, the image is still there. I've tried

myImageView.image = nil;

upon leaving the view but the image remains. How can I remove the image so the imageview appears black again?

The UIImageView is connected through IB.

 

 

 

Setting the UIImageView as:

myImageView.image = nil 

is the correct way to clear an UIImageView. Are you loading the image when your calling function returns? Is your UIImageView being declared, and/or used elsewhere in your main function?

 

 

 

I also got the same problem, no matter I use myImageView.image = nil or [myImageView setImage:nil] the image still show on the UIImageView; assuming either one should works. It spend me many hours to debug and find out where have problem. Finally, I did it by using the following code,

        [UIView beginAnimations:nil context:nil];
       
[UIView animateWithDuration:1 animations:nil];
        myImageView
.image = nil;
       
[UIView commitAnimations];

I don't know why, but when I work as an animation then the image can be clear perfectly.