2010-07-21 15 views
7
-(void)setState:(id)sender 
{ 
    UIButton* button = (UIButton*)sender; 
    BOOL buttonBool = ([button state]==selected : YES ? NO); 
    [sender setSelected:buttonBool++]; 

} 

c'est mon idée, mais je ne peux pas comprendre l'état actuel du bouton appelant la fonction. n'importe quel bouton, qui appelle cette fonction, doit être basculé entre default et selected-state, de sorte qu'il fonctionne comme un commutateur. J'ai juste besoin d'avoir des background-graphics, sinon j'avais utilisé un switch.basculer UIButton-état en appuyant sur, comme un commutateur

Ainsi, quelqu'un peut-il corriger mon idée?

Répondre

20

Essayez de cette façon:

-(void)setState:(id)sender 
{ 
    UIButton* button = (UIButton*)sender; 
    button.selected = !button.selected; 
} 
+0

oh .. qui était trop simple ! Je pense que cela fonctionne, comment je veux que ça fonctionne, merci. Je l'essayerai demain Message: Vous pouvez accepter une réponse dans 8 minutes donc demain je vais l'accepter – nico

+0

@Vladimir Merci.Il fonctionne parfaitement! – Bhagyashree

+0

Oui, c'est la façon ** intelligente ** de programmer +1! –

1

Swift 3 voies:

func setState(button: UIButton) { 
    button.isSelected = !button.isSelected 
} 

(. Merci à @ nadi-hassan pour la pointe Swift 3)

+1

swift 3 renommé "selected" en "isSelected" –

+0

Merci @NadiHassan – finneycanhelp