ios - introducción - ¿Cómo se agrega una acción a un botón mediante programación en xcode?
siri shortcuts ios 12 (9)
Sé cómo agregar un IBAction a un botón arrastrando desde el constructor de interfaz, pero quiero agregar la acción programáticamente para ahorrar tiempo y evitar el cambio constantemente. La solución es probablemente muy simple, pero parece que no puedo encontrar ninguna respuesta cuando la busco. ¡Gracias!
Prueba esto:
[myButton addTarget:self
action:@selector(myAction)
forControlEvents:UIControlEventTouchUpInside];
Puede encontrar una rica fuente de información en la Documentación de Apple. Eche un vistazo a la documentación de UIButton , revelará que UIButton es un descendiente de UIControl, que implementa el método para agregar objetivos .
-
Deberá prestar atención si agrega dos puntos o no después de que myAction
en action:@selector(myAction)
Aquí está la reference
Swift respuesta:
myButton.addTarget(self, action: "click:", forControlEvents: UIControlEvents.TouchUpInside)
func click(sender: UIButton) {
print("click")
}
prueba esto:
primero escribe esto en tu archivo .h de viewcontroller
UIButton *btn;
Ahora escribe esto en tu archivo .m de viewcontrollers viewDidLoad.
btn=[[UIButton alloc]initWithFrame:CGRectMake(50, 20, 30, 30)];
[btn setBackgroundColor:[UIColor orangeColor]];
//adding action programatically
[btn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
escriba esto fuera del método viewDidLoad en el archivo .m de su controlador de vista
- (IBAction)btnClicked:(id)sender
{
//Write a code you want to execute on buttons click event
}
UIButton
hereda de UIControl
. Tiene todos los métodos para agregar / eliminar acciones: UIControl Class Reference . Mire la sección "Preparar y enviar mensajes de acción", que cubre – sendAction:to:forEvent:
y – addTarget:action:forControlEvents:
Para Swift 3
Primero crea una función para la acción del botón y luego agrega la función a tu objetivo de botón
button.addTarget(self, action: #selector(buttonAction),for: .touchUpInside)
func buttonAction(sender: UIButton!) {
print("Button tapped")
}
CGRect buttonFrame = CGRectMake( x-pos, y-pos, width, height ); //
CGRectMake(10,5,10,10)
UIButton *button = [[UIButton alloc] initWithFrame: buttonFrame];
button setTitle: @"My Button" forState: UIControlStateNormal];
[button addTarget:self action:@selector(btnClicked:)
forControlEvents:UIControlEventTouchUpInside];
[button setTitleColor: [UIColor BlueVolor] forState:
UIControlStateNormal];
[view addSubview:button];
-(void)btnClicked {
// your code }
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self
action:@selector(aMethod1:)
forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[view addSubview:button];
CGRect buttonFrame = CGRectMake( 10, 80, 100, 30 );
UIButton *button = [[UIButton alloc] initWithFrame: buttonFrame];
[button setTitle: @"My Button" forState: UIControlStateNormal];
[button addTarget:self action:@selector(btnSelected:) forControlEvents:UIControlEventTouchUpInside];
[button setTitleColor: [UIColor redColor] forState: UIControlStateNormal];
[view addSubview:button];
UIButton *btnNotification=[UIButton buttonWithType:UIButtonTypeCustom];
btnNotification.frame=CGRectMake(130,80,120,40);
btnNotification.backgroundColor=[UIColor greenColor];
[btnNotification setTitle:@"create Notification" forState:UIControlStateNormal];
[btnNotification addTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnNotification];
}
-(void)btnClicked
{
// Here You can write functionality
}