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

3
UISearchBar 中更改光标颜色是否可行?
6个回答

5
你实际上可以这样做:

您实际上可以这样做:

[[UITextField appearanceWhenContainedIn: [UISearchBar class], nil] setTintColor:YOUR_COLOR_HERE];

如果您想为搜索栏本身使用不同的色调。


1
我创建了自己的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

0

Swift 4 示例

UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).tintColor = .lightGray

这将把光标调整为UIColor.lightGray,而不更改取消按钮的颜色。


-1

在iOS 7中是可能的。只需设置UISearchBar的色调颜色即可。例如,在您的应用程序委托中:

[[UISearchBar appearance] setTintColor:[UIColor redColor]];

据我所知,这只影响光标颜色。

错误的,tintColor也适用于“取消”按钮。可能还有更多的元素。请参见我的答案,了解仅将色调应用于光标的方法。 - ullstrm

-1

很遗憾,这是不可能的。我也想在UISearchBar中使用自定义字体,但这也是不可能的。


错误,请尝试以下代码:for (UIView *subView in _searchBar.subviews) { if ([subView isKindOfClass: [UITextField class]]) { [(UITextField *)subView setFont:myFont]; } } - svth

-1

尽管可能有一些方法可以覆盖整个UISearchBar类,但苹果不会接受任何更改其类的应用程序。如果确实有必要,您可以创建自己的搜索栏。不过,仅仅为了更改光标颜色而这样做似乎有点大费周折。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接