2009-01-01 31 views
14

I + UIButton usando buttonWithType:Configuración manual de un estado UIButton

Lo que necesito averiguar es cómo cambiar manualmente el estado del botón. Hay momentos en que necesito que se configure como "desactivado".

He leído la documentación de UIButton pero parece que no encuentro nada sobre la configuración manual de un estado de botón.

Cualquier pensamiento sería muy apreciado.

+0

Para complementar lo que Ben dijo, echa un vistazo a la propiedad enabled en uicontrol: http://developer.apple.com/iphone /library/documentation/UIKit/Reference/UIControl_Class/Reference/Reference.html#//apple_ref/occ/instp/UIControl/enabled – Athena

Respuesta

42

¿Has probado button.enabled = NO;?

+0

Hola gracias Ben. Ni siquiera pensé en mirar la superclase. ¡Gran lección aprendida sobre eso! – acreek

+0

me pregunto por qué button.isEnabled no se puede escribir mientras button.enabled funciona – OMGPOP

+0

NO, no lo intenté, gracias;) – rednaw

6

¿No es solo la propiedad state? Está en la clase UIControl que es la superclase de UIButton.

Editar: Vaya, no, no lo es. Los documentos dicen "Este atributo es de solo lectura, no hay un método de configuración correspondiente".

+0

¿Puedo sugerir que dado que esta respuesta no es correcta, por su propia admisión, debería eliminarse? –

+0

Normalmente estoy de acuerdo, sin embargo, parece que la gente lo encuentra útil a pesar de que está mal, ¿quizás es un error común y es útil marcarlo? –

21

También están los estados:

button.highlighted = NO; 
    button.selected = NO; 
3

Puede configurar manualmente estado de UIButton.

UIButton *btnCheck=[UIButton buttonWithType:UIButtonTypeCustom]; 

if(btncheck isselected]) 
{ 
    btncheck.selected=FALSE; 
} 
else 
{ 
    btncheck.selected=TRUE; 
} 

Usted puede hacer la operación en UIButton como por su exigencia como realizar alguna acción cuando se selecciona UIButton y mientras no seleccionado.

Hope esto le ayudará a ....

0

para los que llegan aquí en busca de cambiar el 'estado' del botón (en contraposición a 'activado'). Stephen es correcto "Este atributo es de solo lectura, no hay un método de configuración correspondiente".

Lo que realmente desea establecer es el estado de la celda de botones.

[[myNSButtonOutlet cell] setState: NSOnState]; //Options NSOnState, NSOffState, NSMixedState 
2

de Swift 3 puede utilizar

button.isSelected = true

Cuestiones relacionadas