Zmiana koloru tytułu UIButton po zaznaczeniu - jak to wyłączyć?
Stworzyłem przycisk. Domyślny kolor tytułu to czarny. Ale kiedy klikam, kolor zmienia się na trochę niebieski i nigdy więcej się nie zmienia, jak to się dzieje? Czy ktoś może mi powiedzieć dlaczego. I chcę, żeby tytuł przycisku był cały czas czarny. W jaki sposób mogę to zrobić? próbowałem
[button setTitleColor:[UIColor darkTextColor] forState:UIControlStateHighlighted];
[button setTitleColor:[UIColor darkTextColor] forState:UIControlStateSelected];
Ale bez efektu. Kiedy dodam to do mojego kodu, wygląda na to, że tytuł przycisku jest zawsze niebieski.
Kod jest następujący.
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setFrame:CGRectMake(20, 360, 280, 44)];
[button setTitle:NSLocalizedString(@"Continue", @"Label: TextLabel in Continue button") forState:UIControlStateNormal];
button.titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:20.0f];
button.titleLabel.textColor = [UIColor darkTextColor];
button.titleLabel.shadowColor = [UIColor blackColor];
button.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleWidth;[self.view addSubview:button];
[button release];
Dziękuję wszystkim. Rozwiązałem ten problem. Myślę, że głównym powodem jest
w następnym
button.titleLabel.textColor = [UIColor darkTextColor];
Kiedy to usuwam i używam
button setTitleColor:(UIColor) forState:(UIControlState);
Problem rozwiązany!
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
7 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
[UIButton setTitleColor:forState
:]
dla wszystkich stanów kolor tytułu pozostanie taki sam dla wszystkich stanów.
Uwaga: aby bezpiecznie wprowadzić lub wkleić powyższy kod trzy razy, możesz użyć następującego kodu, sugerowany kod to
,
Anonimowy użytkownik
Potwierdzenie od:
Jeśli chcesz powtórzyć to zachowanie ze standardowym przyciskiem, nadpisz metodę , aby zapobiec ustawieniu wartości alfa titleLabel:
Anonimowy użytkownik
Potwierdzenie od:
0 linii kodu:
>
Korzystając z programu Interface Builder i lub wybierz w IB:
Wyświetl & > Narzędzia & > Pokaż inspektora atrybutów
.
Proszę wybrać
State Config
(Domyślnie) jako jeden z
asygnowany
,
wybrany
lub
niepełnosprawny
i zmień atrybut
kolory tekstu
.
Anonimowy użytkownik
Potwierdzenie od:
Ustaw typ przycisku na w scenorysie lub w kodzie:
[UIButton buttonWithType: UIButtonTypeCustom];
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
przykład zastosowania w twoim przypadku:
Anonimowy użytkownik
Potwierdzenie od:
Z tego co wiem
http://developer.apple.com/lib ... .html
„darkTextColor” to specyficzny dla systemu kolor używany do pisania tekstu na jasnym tle. Może spróbuj blackColor, jeśli sugestia Mayuury nie działa.
Edycja: spróbuj dodać:
[sender setHighlighted: NO];
do swojej IBAction, która jest wywoływana po kliknięciu przycisku. Czy to rozwiązuje problem? Sugeruję to, ponieważ w przypadku[button release];
zakładam, że nadal używasz starej wersji pakietu SDK iOs i nie masz możliwości wyłączenia podświetlania przycisków w elegancki sposób inny niż ten.Edit2: Tworzysz przycisk programowo, ale nie widzę, abyś łączył go z IBAction.
Dodaj to poniżej swojego
[button addTarget:self action:@selector(myIBAction) forControlEvents:UIControlEventTouchUpInside];
Następnie utwórz taką metodę IBAction: