Artículos con la etiqueta 'UIControlStateSelected'

Apple iPhone: Crear un botón de activación personalizado

non funzionano quando un UIButton è impostato in modalità UIButtonTypeCustom ! Los estados UIControlStateSelected o UIControlStateHighlighted no funciona cuando hay un UIButton modo se establece UIButtonTypeCustom ! O más bien, no funcionan (porque reservado para otro tipo de botón), por ejemplo, para crear un botón de dos estados: nota de palanca. Si hemos creado dos imágenes (y stato2.png stato1.png) para nuestro botón, se puede proceder de la siguiente manera:

1
2
3
/ / Los archivos de cabecera que se crea una variable global para usaremo
/ / Comprobar la palanca se
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"
/ / Editar initWithFrame: (CGRect) {} 100,100,50,50 con la ubicación y
/ / Tamaño de la imagen ha
; 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: @ "" Forst: UIControlStateNormal];
[ UIImage imageNamed : @ "stato1.png" ] forState : UIControlStateNormal ] ; [ToggleButton setBackgroundImage: [UIImage imageNamed: @ "stato1.png"] Forst: 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) {remitente
/ / Recuperar puntero a UIButton
( UIButton * ) sender; UIButton buttonClicked * = (UIButton *) del remitente;
/ / Ejecutar Toogle
toggleFlag = toggleFlag!;
[ UIImage imageNamed : ( toggleFlag ) ? @ "stato1.png" : @ "stato2.png" ] forState : UIControlStateNormal ] ; [ButtonClicked setBackgroundImage: [UIImage imageNamed: (toggleFlag) @ "Stato1.png" @ "stato2.png"] Forst: UIControlStateNormal];
}

Continuación ...