如何在iPhone的UISearchBar中更改光标颜色?



是否可以在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不会接受任何更改其类的应用程序。如果确实有必要,那么您可以创建自己的搜索栏。不过,光标颜色似乎有很多工作要做。

最新更新