iOS - UISearchBar textfield background on focus

问题描述:

我有一个UISearchBar问题。在故事板中,其条形色调设置为clearColor,其搜索样式为最小值,条样式为默认值。我也有一个自定义背景图片。iOS - UISearchBar textfield background on focus

这是怎么看起来像在默认情况下,当第一次加载观点: enter image description here

这正是我希望它是。

现在,当我按下它来输入一些文字,会出现以下情况:

enter image description here

背景变成了黑色。如果我取消或停止搜索,它会完美地返回到第一张图片。 我已经尝试了很多东西,在代码中设置所有内容,但我似乎无法更改此黑色背景。我只是想要它是清晰的颜色。

好像黑色的背景,由于清除巴色Color.There是没有必要设置栏色调颜色清除颜色 .SET它如默认

+0

它不会伤心地改变任何事情。 –

+0

Ohhh ..我设置了相同的属性,它为我工作。 – Donal

+0

@bloemy你是否启用traslucent属性? – Donal

尝试在viewDidLoad中

self.searchController.searchBar.barStyle = UIBarStyleBlack; 
self.searchController.searchBar.translucent = YES; 

这个代码,我发现,在UISearchController它有这些特性可能影响的UISearchBar的呈现。

@property (nonatomic, assign) BOOL dimsBackgroundDuringPresentation __TVOS_PROHIBITED; // default is YES, and has the same behavior as obscuresBackgroundDuringPresentation. 
@property (nonatomic, assign) BOOL obscuresBackgroundDuringPresentation NS_AVAILABLE_IOS(9_1); // default is YES 

尝试将它们设置为NO

self.searchController.dimsBackgroundDuringPresentation = NO; 
self.searchController.obscuresBackgroundDuringPresentation = NO; 

实际上UISearchBar提供了在Searchbar中设置文本框背景的方法。它是:

- (void)setSearchFieldBackgroundImage:(可为空的UIImage *)backgroundImage forState:(UIControlState)状态NS_AVAILABLE_IOS(5_0)UI_APPEARANCE_SELECTOR;

您可以用它来设置任何图像。