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]; } |










Il n'y a aucun commentaire pour cet article
Laisser un commentaire