Zasadniczo mam trzy przyciski na moim głównym ekranie.Swift - Zmień kolor i rozmiar tekstu po dotknięciu UIButton
Po wybraniu jednego z tych przycisków chciałbym, aby tekst na wybranym przycisku zmienił się na pogrubiony i zmienić kolor (niebieski).
Po wybraniu innego przycisku chciałbym, aby nowo wybrany przycisk został zmieniony na pogrubiony i zmienił kolor (niebieski), a poprzednio wybrany przycisk, aby powrócić do normalnego. (niepogrubiony i czarny tekst)
Mam te przyciski wysyłające akcję do skryptu.
To jest to, co mam, nie mogę sprawić, żeby działało. Pomoc będzie bardzo mile widziane!
@IBAction func buttonOne(sender: UIButton){
sender.setTitleColor(UIColor.blueColor(), forState: UIControlState.Highlighted)
}
Próbowałem. Podświetlony i wybrany na UIControlState, nie wydaje się działać. Próbowałem również następujące, ale nie mogę go uruchomić.
@IBAction func buttonOne(sender: UIButton){
sender.titleLabel?.textColor = UIColor.blueColor()
}
Pomyślałem, że skoro nadawca był UIButton, i to, że przycisk został kliknięty, przyjmując wartości poza nim i resetowanie im będzie działać. Wierzę, że czegoś brakuje.
Dziękuję
Dzięki! Zmienił kolor na czarny. Przez ostatnią godzinę waliłem głową w monitor i nie mogłem tego rozgryźć. Dziękuję Ci! Pytanie uzupełniające - w jaki sposób mogę przywrócić czarne przyciski po naciśnięciu nowego przycisku? – Nate4436271
(Czarny? Myślisz, że chcesz niebieski?) Połącz każdy przycisk jako właściwość IBOutlet w kontrolerze widoku, a gdy zadziała IBAction, w tej metodzie również zmień inne przyciski. Prawdopodobnie potrzebna jest właściwość, która zapamiętuje, który przycisk jest aktywny (np. Numer od 1 do 3 itd.). Można również rozważyć użycie segmentowanego elementu sterującego zamiast 3 oddzielnych przycisków. – shim
Chciałbym, aby aktywne pole było niebieskie, a nieaktywne pola były czarne. Twoje sugestie były bardzo pomocne, dziękuję! – Nate4436271