My search bar has default gray text, but I want it to be white text. I can't figure out how to use swift to change the scope bar text color, and you are unable to do it from storyboard. The closest I've found is
searchBarOutlet.setScopeBarButtonTitleTextAttributes([NSForegroundColorAttributeName: UIColor.whiteColor()], forState:UIControlState.Normal)
but alas this won't work either. Any ideas?
Its a little hard to access the Textfield inside the UISearchbar.
This is how it works:
for subView in self.searchBarOutlet.subviews
{
for secondLevelSubview in subView.subviews
{
if (secondLevelSubview.isKindOfClass(UITextField))
{
if let searchBarTextField:UITextField = secondLevelSubview as? UITextField
{
//set the color here like this:
searchBarTextField.textColor = UIColor.redColor()
break;
}
}
}
}
Shorter solution:
var textFieldInsideSearchBar = yourSearchbar.valueForKey(“searchField”) as? UITextField
textFieldInsideSearchBar?.textColor = yourcolor
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With