可以在搜索栏显示时更改文本颜色吗?

时间:2016-06-02 23:19:35

标签: ios

我试图在搜索栏中以一种颜色显示初始提示消息,然后一旦用户开始输入文本,就删除提示并更改用户输入的文本的颜色。

我用它来设置提示信息的初始颜色

UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).textColor = UIColor.lightGrayColor()

然后,当我收到通知时,用户已开始输入文本,我尝试更改颜色

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) 
{
    appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).textColor = UIColor.blackColor()
    ...

似乎只能在显示搜索栏之前设置颜色,而不是在显示搜索栏之后设置颜色。有人知道这方面有任何变通方法吗?

(正在创建搜索栏并通过UISearchController自动显示)

1 个答案:

答案 0 :(得分:-3)

使用UISearchBar的{​​{3}}属性设置初始提示消息。默认情况下,UISearchBar会将其颜色设置为70%灰色,完全独立于用户输入文字的文字颜色。

var searchBar = UISearchBar()
// This message will be set to a gray color by default 
// UISearchBar will automatically clear it once the user starts typing
searchBar.placeholder = "Enter a message here..."
// This text color will be applied to the text that the user types
searchBar.textColor = UIColor.blackColor()