2009-09-03 11 views

Odpowiedz

55

Zgodnie z dokumentacją powinny trzeba tylko zadzwonić:

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

Docs UIButton wyjaśnić dlaczego:

W ogóle, jeśli nieruchomość nie jest określony przez stan, domyślnie jest aby użyć wartości UIControlStateNormal. Jeśli wartość parametru UIControlStateNormal nie jest ustawiona, właściwość domyślnie przyjmuje wartość systemową. Dlatego minimalna wartość powinna być ustawiona dla normalnego stanu.

Mianowicie, jeśli ustawisz tylko normalną wartość, inne stany będą się do niej odwoływały podczas ustawiania.

6

lub można setTitle przez:

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

dlaczego chcesz to zrobić w ten sposób? – auspicious99

+0

, aby ustawić tytuł przycisku wielu stanów w jednym wierszu. –

+0

To jest dokładny sposób dla wszystkich kontroli. Suwak UI nie zmienia się we wszystkich stanach. pomocne – Saad

0

Można utworzyć kategorię 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 
Powiązane problemy