cambiar el text del button y desactivar el button en iOS

¿Cómo se cambia el text del button y se deshabilita un button en iOS?

Hey Namratha, si estás preguntando sobre cambiar el text y habilitar / deshabilitar el estado de un button UIB, se puede hacer bastante fácilmente de la siguiente manera;

[myButton setTitle:@"Normal State Title" forState:UIControlStateNormal]; // To set the title [myButton setEnabled:NO]; // To toggle enabled / disabled 

Si ha creado los botones en el Interface Builder y desea acceder a ellos en código, puede aprovechar el hecho de que se pasan como argumento a las llamadas de IBAction :

 - (IBAction) triggerActionWithSender: (id) sender; 

Esto puede vincularse al button y obtendrá el button en el argumento del sender cuando se active la acción. Si eso no es suficiente (porque necesita acceder a los botones en otro lugar que no sea en las acciones), declare una salida para el button:

 @property(retain) IBOutlet UIButton *someButton; 

Entonces es posible enlazar el button en IB al controller, el código de carga de NIB establecerá el valor de la propiedad al cargar la interfaz.

 [myButton setTitle: @"myTitle" forState: UIControlStateNormal]; 

Use UIControlStateNormal para configurar su título.

Hay un par de estados que UIbuttons proporciona, puedes echar un vistazo:

 [myButton setTitle: @"myTitle" forState: UIControlStateApplication]; [myButton setTitle: @"myTitle" forState: UIControlStateHighlighted]; [myButton setTitle: @"myTitle" forState: UIControlStateReserved]; [myButton setTitle: @"myTitle" forState: UIControlStateSelected]; [myButton setTitle: @"myTitle" forState: UIControlStateDisabled]; 

Si alguien, que está buscando una solución en Swift, aterriza aquí, sería:

 myButton.enabled = false // disables myButton.setTitle("myTitle", forState: UIControlState.Normal) // sets text 

Suponiendo que el button es un button UIButton :

 UIButton *button = …; [button setEnabled:NO]; // disables [button setTitle:@"Foo" forState:UIControlStateNormal]; // sets text 

Consulte la documentation para el UIButton .

Para cambiar el título del button:

 [mybtn setTitle:@"My Button" forState:UIControlStateNormal]; [mybtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]; 

Para deshabilitar:

 [mybtn setEnabled:NO]; 

En Swift 3, simplemente puede cambiar el título de un button haciendo lo siguiente:

 button.setTitle("Title", for: .normal) 

y deshabilita el button haciendo lo siguiente:

 button.isEnabled = false 

.normal es lo mismo que UIControlState.normal porque se infiere el tipo.

Si desea cambiar el título como una respuesta al toque, puede probar esto dentro del método IBAction del button en su delegado del controller de vista. Esto activa y desactiva un chat de voz. ¡Configurar el chat de voz no está cubierto aquí!

 - (IBAction)startChat:(id)sender { UIButton *chatButton = (UIButton*)sender; if (!voiceChat.active) { UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Voice Chat" message:@"Voice Chat will become live. Please be careful with feedback if your friend is nearby." prefernetworkingStyle:UIAlertControllerStyleAlert]; UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {}]; [alert addAction:defaultAction]; [self presentViewController:alert animated:YES completion:nil]; [voiceChat start]; voiceChat.active = YES; [chatButton setTitle:@"Stop Chat" forState:UIControlStateNormal]; } else { [voiceChat stop]; UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Voice Chat" message:@"Voice Chat is closed" prefernetworkingStyle:UIAlertControllerStyleAlert]; UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {}]; [alert addAction:defaultAction]; [self presentViewController:alert animated:YES completion:nil]; voiceChat.active = NO; [chatButton setTitle:@"Chat" forState:UIControlStateNormal]; } 

}

voiceChat es específico para el chat de voz, por supuesto, pero puede usar su propiedad ow local boolean para controlar el cambio.