Articles taggés avec 'UIControlStateHighlighted'

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

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

1
2
3
/ / Les fichiers d'en-tête que nous créons une variable globale pour usaremo
/ / Vérifier la bascule ont été
ToggleFlag BOOL;

Maintenant nous allons créer notre bouton:

1
2
3
4
5
6
7
8
9
/ / On crée un bouton et on le place d'abord dans l'état "stato1.png"
/ / Edit initWithFrame: (CGRect) {} 100,100,50,50 avec l'emplacement et
/ / La taille de votre 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: @ "" Forst: UIControlStateNormal];
[ UIImage imageNamed : @ "stato1.png" ] forState : UIControlStateNormal ] ; [ToggleButton setBackgroundImage: [UIImage imageNamed: @ "stato1.png"] Forst: 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érer pointeur UIButton
( UIButton * ) sender; UIButton ButtonClicked * = (UIButton *) sender;
/ / Exécuter bascule,
toggleFlag = toggleFlag!;
[ UIImage imageNamed : ( toggleFlag ) ? @ "stato1.png" : @ "stato2.png" ] forState : UIControlStateNormal ] ; [ButtonClicked setBackgroundImage: [UIImage imageNamed: (toggleFlag) @ "Stato1.png" @ "stato2.png"] Forst:? UIControlStateNormal];
}

Suite ...