Articles taggés avec 'UIControlStateSelected'

Apple iPhone: Créer un bouton personnalisé à bascule

non funzionano quando un UIButton è impostato in modalità UIButtonTypeCustom ! Les Etats UIControlStateSelected ou UIControlStateHighlighted ne fonctionne pas quand un UIButton mode est réglé UIButtonTypeCustom ! Ou plutôt, ne fonctionnent pas (parce que réservés pour d'autres types de bouton), par exemple pour créer un bouton à deux états: la note bascule. Si nous avons créé deux images (stato1.png et stato2.png) pour notre bouton, nous pouvons procéder comme suit:

1
2
3
/ / Le fichier en-tête que nous créons une variable globale pour usaremo
/ / Bascule le chèque était
ToggleFlag BOOL;

Maintenant nous allons créer notre bouton:

1
2
3
4
5
6
7
8
9
/ / Nous créons un bouton et nous le plaçons d'abord dans l'état "stato1.png"
/ / Modifier initWithFrame: (CGRect)} {100,100,50,50 avec la position et
/ / Taille de l'image a
; toggleFlag = OUI;
[ [ 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: action d'auto: @ selector (onToggle :) forControlEvents: UIControlEventTouchUpInside];
toggleButton ] ; [Self.view addSubview: ToggleButton];

Lorsque vous cliquez sur le bouton envoyer un message à être gérés onToggle :

1
2
3
4
5
6
7
void ) onToggle : ( id ) sender { - (Void) onToggle: (id) sender {
/ / Récupération de pointeur vers UIButton
( UIButton * ) sender; UIButton ButtonClicked * = (UIButton *) l'expéditeur;
/ / Exécution de la bascule,
toggleFlag = toggleFlag!;
[ UIImage imageNamed : ( toggleFlag ) ? @ "stato1.png" : @ "stato2.png" ] forState : UIControlStateNormal ] ; [ButtonClicked setBackgroundImage: [UIImage imageNamed: (toggleFlag) @ "Stato1.png" @ "stato2.png"] forState:? UIControlStateNormal];
}

En savoir plus ...


Arrêtez SOPA