ios - guidelines - uibutton(type:)
¿Cómo conectar varios botones en un guión gráfico a una sola acción? (7)
Deberías poder hacer esto en IB. En IB, simplemente IBAction
a la misma IBAction
en la clase correspondiente.
Cuando se produce la acción, en caso de que desee saber de qué botón obtuvo la acción, puede diferenciar entre los botones dentro del método IBAction
leyendo el texto del botón o utilizando el atributo de tag
que debería haber establecido en IB. .
- (IBAction)buttonClicked:(id)sender {
NSLog(@"Button pressed: %@", [sender currentTitle]);
NSLog(@"Button pressed: %@", [sender tag]);
}
Actualmente estoy usando Xcode 4.6 y simplemente me pregunto cómo seleccionar varios botones en diferentes UIViews, pero bajo un solo controlador de vista. Hacer clic en CMD no parece funcionar. Necesito esta funcionalidad porque en Xcode 4.6 la única forma de permitir que dos botones en IB compartan la misma acción es seleccionarlos de una vez y luego arrastrar la acción a su controlador de vista.
Mi objetivo final es conseguir dos botones diferentes en dos vistas UIV diferentes para que coincidan con la misma acción utilizando guiones gráficos en Xcode 4.6. ¿Hay alguna forma de hacer esto?
EDITAR: Actualmente estoy usando Xcode 4.6.1 sin suerte, actualizándome a 4.6.2.
En Xcode 5, después de configurar la acción para el primer botón, tengo que construir la aplicación. Esto luego me permite conectar la acción de otros botones a este mismo método IBAction
Puede usar IBOutletCollection
el siguiente enlace le ayudará a usar ese
http://useyourloaf.com/blog/2011/03/28/interface-builder-outlet-collections.html
Sigue estos pasos
1. Crear IBAction In View Controller
En archivo .h
-(IBAction)action:(id)sender;
En archivo .m
-(IBAction)action:(id)sender{
}
2. Conecta todos los botones a esta acción.
3. Dale una etiqueta a cada botón, sigue la siguiente imagen
4. Ahora dentro de tu función de acción pon estos
-(IBAction)action:(id)sender{
UIButton *button=(UIButton*)sender;
if(button.tag==1){
//your stuff!
}
if(button.tag==2){
//your stuff!
}
if(button.tag==3){
//your stuff!
}
}
Corre y vete.
Swift 3.0 Xcode 8.0+
Conecte todos los botones a la siguiente firma de método. Asegúrese de que el remitente del argumento sea de tipo UIButton (o subclase de UIButton) para conectar el resto de los botones del guión gráfico.
@IBAction func dialconfigTapped(_ sender: UIButton) {}
Use sender.tag para identificar el botón pulsado.
en xcode 4.6.3 ya no necesita guardar antes de asignar una acción.