2009-09-03 8 views

risposta

55

Secondo la documentazione si deve solo bisogno di chiamare:

[myButton setTitle:@"Play" forState:UIControlStateNormal]; 

La documentazione UIButton spiegano perché:

In generale, se una proprietà non è specificato per uno stato, il valore predefinito è utilizzare il valore UIControlStateNormal. Se il valore per UIControlStateNormal non è impostato, la proprietà imposta automaticamente un valore di sistema. Pertanto, come minimo, è necessario impostare il valore per lo stato normale.

Vale a dire che se si imposta solo il valore normale, gli altri stati faranno riferimento ad esso quando viene impostato.

6

oppure si può setTitle da:

[myButton setTitle:@"Play" forState:UIControlStateNormal|UIControlStateHighlighted|UIControlStateSelected]; 
+0

Perché si vuole fare in questo modo? – auspicious99

+0

per impostare il titolo di più pulsanti di stato in una riga. –

+0

Questo è il modo esatto per tutti i controlli. Il dispositivo di scorrimento dell'interfaccia utente non cambia in tutti gli stati. utile – Saad

0

È possibile creare una categoria per UIButton:

@implementation UIButton (Addition) 
-(void)setTitleForAllStates:(NSString *)title { 
    //you can add/remove this area : UIControlStateApplication, UIControlStateDisabled, UIControlStateReserved 
    [self setTitle:title forState:UIControlStateNormal]; 
    [self setTitle:title forState:UIControlStateSelected]; 
    [self setTitle:title forState:UIControlStateHighlighted]; 
} 
@end 
Problemi correlati