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

} 

questa è la mia idea, ma non riesco a capire lo stato attuale del pulsante che chiama la funzione. qualsiasi pulsante, che chiama questa funzione, deve essere commutato tra predefinito e stato selezionato, in modo che funzioni come un interruttore. Ho solo bisogno di avere la propria grafica di sfondo, altrimenti ho usato un interruttore.commuta lo stato UIButton quando si preme, come un interruttore

quindi, qualcuno può correggere la mia idea?

risposta

20

provare in questo modo:

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

oh .. che era troppo semplice ! Penso che questo funzioni, come voglio che funzioni, grazie. lo proverò domani Messaggio: Puoi accettare una risposta in 8 minuti, quindi domani accetto questo – nico

+0

@Vladimir Grazie. Funziona perfettamente! – Bhagyashree

+0

Sì, questo è il modo ** intelligente ** di programmare +1! –

1

Swift 3 vie:

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

(. Grazie a @ Nadi-Hassan per la Swift 3 punta)

+1

swift 3 rinominato "selezionato" su "isSelected" –

+0

Grazie a @NadiHassan – finneycanhelp

Problemi correlati