我试图在搜索栏中以一种颜色显示初始提示消息,然后一旦用户开始输入文本,就删除提示并更改用户输入的文本的颜色。
我用它来设置提示信息的初始颜色
UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).textColor = UIColor.lightGrayColor()
然后,当我收到通知时,用户已开始输入文本,我尝试更改颜色
func searchBar(searchBar: UISearchBar, textDidChange searchText: String)
{
appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).textColor = UIColor.blackColor()
...
似乎只能在显示搜索栏之前设置颜色,而不是在显示搜索栏之后设置颜色。有人知道这方面有任何变通方法吗?
(正在创建搜索栏并通过UISearchController自动显示)
答案 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()