是否可以在UISearchBar
中更改光标的颜色?
你实际上可以做的是:
[[UITextField appearanceWhenContainedIn: [UISearchBar class], nil] setTintColor:YOUR_COLOR_HERE];
如果您想为搜索栏本身使用不同的色调。
我创建了自己的SearchController
,它扩展了UISearchController
和使用以下代码为光标和取消按钮使用不同的颜色
self.searchBar.barTintColor = UIColor.greyColor()
self.searchBar.tintColor = UIColor.greyColor()
UIBarButtonItem.appearance().tintColor = UIColor.whiteColor()
对于 SWIFT 5
self.searchBar.barTintColor = UIColor.gray
self.searchBar.tintColor = UIColor.gray
UIBarButtonItem.appearance().tintColor = UIColor.white
Swift 4 示例
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).tintColor = .lightGray
这会在不更改取消按钮颜色的情况下将光标调整为UIColor.lightGray
。
在iOS 7中是可能的。只需设置UISearchBar的色调颜色。因此,例如,在应用委托中:
[[UISearchBar appearance] setTintColor:[UIColor redColor]];
据我所知,这只影响光标颜色。
不幸的是不是。 我还想在UISearchBar中使用自定义字体,但这也是不可能的。
以某种方式覆盖整个UISearchBar类,但Apple不会接受任何更改其类的应用程序。如果确实有必要,那么您可以创建自己的搜索栏。不过,光标颜色似乎有很多工作要做。