objective iphone cocoa-touch uiimageview uiimage

iphone - objective - Eliminar la imagen de UIImageView



uiimageview set image swift (5)

UIImageView un UIImageView con una imagen dependiendo de la interacción del usuario. Cuando se visualiza inicialmente la vista principal, no se ha seleccionado ninguna imagen y la vista de la imagen es negra. Si el usuario abandona esa vista y regresa, la imagen aún está allí. He intentado

myImageView.image = nil;

al salir de la vista, pero la imagen permanece. ¿Cómo puedo eliminar la imagen para que el UIImageView aparezca en negro de nuevo?

los

UIImageView

está conectado a través de IB.


Configurando el UIImageView como:

myImageView.image = nil

es la forma correcta de borrar un UIImageView . ¿Está cargando la imagen cuando vuelve la función de llamada? ¿Tu UIImageView está siendo declarada y / o utilizada en otra parte de tu función principal?


Intente establecer [self.imageView setNeedsDisplay]; después de la configuración de su imagen a nil. Esto disparará un redibujado de ese elemento en el siguiente ciclo de runloops, creo. Aka, está marcando esta vista como "sucia" y necesita un redibujado.


Puede usar un UITapGestureRecognizer para eliminar la imagen de una determinada cantidad de clics.

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onImageTapped:)]; tapGesture.delegate = self; tapGesture.numberOfTapsRequired = 2; // no. of taps (clicks) on which you want to remove the image [myImageView addGestureRecognizer:tapGesture];

y da la definición del método:

- (void)onImageTapped:(UITapGestureRecognizer*)recognizer { UIImageView *imgView = (UIImageView*) recognizer.view; [imgView removeFromSuperview]; }


También tengo el mismo problema, no importa que use myImageView.image = nil o [myImageView setImage:nil] la imagen aún se muestre en UIImageView ; asumiendo que cualquiera debería funcionar. Me costó muchas horas depurarme y averiguar dónde tengo un problema. Finalmente, lo hice usando el siguiente código,

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

No sé por qué, pero cuando trabajo como animación, la imagen puede ser clara a la perfección.


Tuve un problema similar con el UIImageView en mi UIButton, donde había establecido la imagen usando

[button setImage:image forState:UIControlStateNormal];

Ponerlo en cero eliminaría la imagen, pero al llamar al getter nuevamente restablecería la imagen. Lo arreglé con:

[button setImage:nil forState:UIControlStateNormal];

en lugar de

[button.imageView.image = nil];