tutorial introducción español desarrollo con botones best apps app ios iphone objective-c uibutton programmatically-created

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 }