2011-06-02 16 views
8

Quiero cambiar la imagen del botón en los botones haga clic en evento. Esto es lo que estoy intentando.Cómo cambiar la imagen establecida en el botón

-(IBAction)editObjectImage:(id)sender 
{ 
    if (editButtonState == NO) 
    { 
     [editButton setImage:nil forState:UIControlStateNormal]; 
     [editButton setImage:[UIImage imageNamed:@"done2.png"] forState:UIControlStateNormal]; 
    } 
    else 
    { 
     [editButton setImage:nil forState:UIControlStateNormal]; 
     [editButton setImage:[UIImage imageNamed:@"edit.png"] forState:UIControlStateNormal]; 
    } 
} 

Pero la imagen de mi botón no está cambiando. ¿Qué pasa con el código?

+2

Asegúrese de que el nombre del archivo se pasa a la función imageNamed es correcta! –

Respuesta

2

Al hacer clic en el botón, debe establecer una imagen como esta;

[editButton setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateHighlighted]; 
+0

también lo he intentado. pero no funciona, entonces lo uso UIControlstateNormal – Rahul

10

Creo que no está cambiando a editButtonState. Tu código puede ser reducido a.

-(IBAction)editObjectImage:(id)sender 
{ 
    UIButton *theButton = (UIButton*)sender; 
    if (editButtonState == NO) { 
     [theButton setImage:[UIImage imageNamed:@"done2.png"] forState:UIControlStateNormal]; 
    } else { 
     [theButton setImage:[UIImage imageNamed:@"edit.png"] forState:UIControlStateNormal]; 
    } 

    editButtonState = !editButtonState; 
} 
+0

lo siento, pero todavía no funciona. – Rahul

+1

¿Ha conectado la salida? –

+0

SÍ. Porque realiza otro trabajo pero la imagen del botón no cambia. – Rahul

0

Compruebe si las imágenes se han agregado correctamente (su [UIImage imageNamed: @ ""]) no está devolviendo nulo? De lo contrario, debería funcionar correctamente.

4

Este es mi código de trabajo:

NSString *shoppingListButtonImageName = @"notepad-selected"; 

UIImage *slImage = [UIImage imageNamed:shoppingListButtonImageName]; 
//put a breakpoint here to check that slImage is not nil. 

[self.shoppingListButton setImage:slImage forState:UIControlStateNormal]; 
Cuestiones relacionadas