如何在不更改文本字段光标的情况下更改UISearchController搜索栏中取消按钮的颜色?

时间:2015-02-23 10:16:14

标签: objective-c ios8 uisearchcontroller

我正在尝试更改UISearchController搜索栏中取消按钮的文本颜色。搜索栏有黑色背景颜色,我希望取消按钮文本为白色。我可以通过设置:

来实现
searchController.searchBar.tintColor = [UIColor whiteColor];

但是,这也会将文本字段光标的颜色更改为白色,这不是我想要的,因为这有效地使光标不可见。

以前的iOS版本中的解决方案似乎围绕搜索栏的子视图循环,并寻找一个UIButton类的子视图。 UISearchController中的搜索栏似乎不包含具有UIButton类的视图,因此这不再有效。关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:2)

试试这段代码。这将仅更改“取消”按钮的颜色,并且光标颜色将保持默认的蓝色。

[[UIBarButtonItem appearanceWhenContainedIn: [UISearchBar class], nil] setTintColor:[UIColor whiteColor]];