2016-05-09 16 views
1

In meinem AppDelegate, habe ich meine UISearchBars in meiner App angepasst (ich habe ein paar), so dass sie die App Farben und so übereinstimmen. (Die App-Farbe ist eine Art Petrol). Mein Code ist wie folgt:UISearchBar.appearance() funktioniert nicht beim ersten Start?

// Set appearance of UISearchBar for the app appearance 
     UISearchBar.appearance().tintColor = UIColor.whiteColor() 

     UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).tintColor = appColor 
     UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).font = UIFont.init(name: "AvenirNext-Medium", size: 17) 
     UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).textColor = UIColor.whiteColor() 
     UISearchBar.appearance().searchBarStyle = UISearchBarStyle .Minimal 
     UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).attributedPlaceholder = NSAttributedString.init(string: "Search...", attributes: [NSForegroundColorAttributeName : UIColor.whiteColor()]) 
     UISearchBar.appearance().setImage(UIImage(named: "searchIcon"), forSearchBarIcon: UISearchBarIcon.Search, state: UIControlState .Normal) 

Nach all dem ist, was beim ersten Start passiert:

first launch

Der Text ist immer noch grau, obwohl ich es eingestellt in die weiß zu sein AppDelegieren.

Wenn ich auf der Suchleiste klicken:

clicked

Und wenn ich stornieren getroffen:

after cancel hit

Dies ist, wie es aussehen soll. Ich bin mir nicht sicher, warum der Text vor einer Benutzerinteraktion grau ist. Hat jemand eine Lösung?

+0

Haben Sie versucht, [diese] (http://stackoverflow.com/questions/1407833/uisearchbar-text-color/28183058#28183058) –

Antwort

2

können Sie versuchen,

UILabel.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).textColor = UIColor.whiteColor() 

bitte sehen, ob das funktioniert

+0

Das hat funktioniert! Vielen Dank!! – Minebomber