non funzionano quando un UIButton è impostato in modalità UIButtonTypeCustom ! Los estados UIControlStateSelected o UIControlStateHighlighted no funcionan cuando un UIButton modo se establece UIButtonTypeCustom ! O, mejor dicho, no funcionan (porque reservados para otros tipos de botón), por ejemplo, para crear un botón con dos estados: nota de alternancia. Si hemos creado dos imágenes (stato1.png y stato2.png) para nuestro botón, podemos proceder de la siguiente manera:
1 2 3 | / / El encabezado del archivo que creamos una variable global para usaremo / / Activar el cheque era ToggleFlag BOOL; |
Ahora vamos a crear nuestro botón:
1 2 3 4 5 6 7 8 9 | / / Creamos un botón y lo colocamos inicialmente en el estado "stato1.png" / / Edición initWithFrame: (CGRect)} {100,100,50,50 con la posición y / / Tamaño de la imagen tiene ; toggleFlag = YES; [ [ UIButton buttonWithType : UIButtonTypeCustom ] initWithFrame : ( CGRect ) { 100 , 100 , 50 , 50 } ] ; UIButton ToggleButton * = [[UIButton buttonWithType: UIButtonTypeCustom] initWithFrame: (CGRect) {100, 100, 50, 50}]; @ "" forState : UIControlStateNormal ] ; [ToggleButton setTitle: @ "" forState: UIControlStateNormal]; [ UIImage imageNamed : @ "stato1.png" ] forState : UIControlStateNormal ] ; [ToggleButton setBackgroundImage: [UIImage imageNamed: @ "stato1.png"] forState: UIControlStateNormal]; self action : @selector ( onToggle : ) forControlEvents : UIControlEventTouchUpInside ] ; [Addtarget ToggleButton: acción de auto: @ selector (onToggle forControlEvents :): UIControlEventTouchUpInside]; toggleButton ] ; [Self.view addSubview: ToggleButton]; |
Al hacer clic en el botón, se envía un mensaje a gestionar onToggle :
1 2 3 4 5 6 7 | void ) onToggle : ( id ) sender { - (Void) onToggle: (id) {emisor / / Recuperar puntero a UIButton ( UIButton * ) sender; UIButton buttonClicked * = (UIButton *) del remitente; / / Ejecutar el Toogle toggleFlag = toggleFlag!; [ UIImage imageNamed : ( toggleFlag ) ? @ "stato1.png" : @ "stato2.png" ] forState : UIControlStateNormal ] ; [ButtonClicked setBackgroundImage: [UIImage imageNamed: (toggleFlag) @ "Stato1.png" @ "stato2.png"] forState: UIControlStateNormal]; } |






Últimos Comentarios
Gabriel : Hola, interesante artículo. Yo necesito algo similar pero con algunos cambios. En una ...
sebastian : Gran proporción - ¡gracias!
Asunto : muy útiles por cierto! Lo he probado y es justo lo que necesitaba. Ahora me pregunto ¿cómo puedo obtener ...
Vik : Con la ayuda estratégica!
Pimienta : Hola, no sé si usted es uno de los creadores del plugin WP Bannerize. He visto un ...