2015-08-02 25 views
5

Kiedy mój viewcontroller początkowo ładuje mój kolor czcionki nie zmienia się. Ale jeśli przejdę do innego kontrolera viewcontroller, a następnie wrócę do tego kontrolera viewcontroller, moja czcionka na przycisku zmieni kolor. Próbowałem dodając poniższy kod do viewwillappear i viewdidload:iOS Zmień kolor UiButton nie działa

self.SaveBTN.titleLabel!.textColor = UIColor.blueColor() 

jakiś pomysł, dlaczego kolor czcionki zmienia się tylko wtedy, gdy idę do innego kontrolera widoku, a następnie przełączyć się z powrotem, ale nie na pierwszym wstępnym obciążeniu Strona?

Przepływ aplikacji:

Navigation Controller -> tab bar Controller -> view controller (button is here) 
+0

Jeśli chcesz zmienić kolor faktycznego przycisku, dlaczego nie użyjesz self.SaveBTN.view.backgroundColor() = UIColor.blueColor()? – Acoop

+0

Chcę zmienić kolor czcionki, a nie kolor tła –

+0

Pierwsza część pytania jest niejasna. Radzę edytować to. – Acoop

Odpowiedz

1

Zastosowanie SaveBTN.setTitleColor(UIColor.blueColor(), forState: .Normal) w funkcji viewDidLoad.

+0

działa teraz na początkowym obciążeniu, dzięki! jakiś pomysł, dlaczego mój kod powyżej nie działał przy początkowym obciążeniu? –

+0

Przepraszam, nie jestem pewien. Używanie setTitleColor jest prawidłową konwencją. Ktoś zasugerował tutaj: http://stackoverflow.com/questions/6703699/uibutton-title-text-color, że kolor powraca do oryginalnego zestawu kolorów w IB, ale nie wiem, czy to jest faktyczny powód tego . Apple również nie daje jasnej odpowiedzi. – Caleb