如何设置UISearchBar取消按钮突出显示颜色

时间:2014-08-29 19:31:56

标签: ios ios7 uisearchbar

我有一个UISearchBar,它在xib文件中添加到我的视图控制器中。

我通过Interface Builder设置了以下属性:

barStyle = UIBarStyleDefault
searchBarStyle = UISearchBarStyleMinimal
translucent = YES
barTintColor = Clear Color

在代码中,使用此代码设置栏的样式,使文本颜色为白色:

[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor whiteColor]];

另外在我的app delegate didFinishLoading方法中我有:

 self.window.tintColor = [UIColor whiteColor];

UISearchBar中的我的取消按钮是浅灰色。当我选择它时,它会突出显示蓝色,因为它不适合屏幕中的任何其他视觉元素。如何更改按钮以突出显示其他颜色?或者,如果取消按钮为白色并突出显示为灰色,我会很好,就像我的导航栏按钮一样,但我不知道如何更改按钮颜色。

我使用Xcode 5定位iOS7。


这个答案似乎合适,但它对我没有影响https://stackoverflow.com/a/15791136/472344

2 个答案:

答案 0 :(得分:1)

在didFinishLaunchingWithOptions

中的Appdelegate中尝试此操作
[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,[NSValue valueWithUIOffset:UIOffsetMake(0, 1)],UITextAttributeTextShadowOffset,nil] forState:UIControlStateNormal];

答案 1 :(得分:1)

尝试设置搜索栏的tintColor。它适用于我的目标8.0 xcode 5。  

self.searchBar.tintColor = [UIColor blackColor];