1voto

Alterar el estado de botones distintos con una sola acción según el que es pulsado

Tengo varios UIbuttons en una misma vista que deben cambiar su imagen de fondo a "Imagen1.png" al ser pulsados. Esto podría hacerse con varias IBactions separadas, una para cada UIbutton, iguales entre ellas excepto el nombre del Botón. (Teniendo en cuenta que los 3 botones se llaman "boton1", "boton2" y "boton3" respectibamente)

- (IBAction)Clic1:(id)sender {
    [boton1 setImage: [UIImage imageNamed: @"Imagen1.png"] forState:normal];
- (IBAction)Clic2:(id)sender {
    [boton2 setImage: [UIImage imageNamed: @"Imagen1.png"] forState:normal];
- (IBAction)Clic3:(id)sender {
    [boton3 setImage: [UIImage imageNamed: @"Imagen1.png"] forState:normal];

En vez de tener 3 acciones separadas lo que busco es unificar las 3 en una sola utilizando algo que identifique cual es el boton bulsado de manera que quede algo parecido a esto:

    - (IBAction)Clic:(id)sender {
    [[IdentificadorDeBotonPresionado] setImage: [UIImage imageNamed: @"Imagen1.png"] forState:normal];

1 Respuesta

1voto

Borjagq Puntos510

Ya encontré la forma, simplemente hay que sustituir "ID" en la accion por el objeto que envia la acción y poner "sender como el identificador del objeto en el que va a actuar la acción.

- (IBAction)Clic:(UIButton *)sender {
    [sender setImage: [UIImage imageNamed: @"Imagen1.png"] forState:normal];

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta