iOS - 在焦点的UISearchBar textfield背景黑色

时间:2017-03-07 22:52:14

标签: ios objective-c uisearchbar

我遇到了UISearchBar的问题。在故事板中,其条形色调设置为clearColor,其搜索样式设置为最小,条形样式设置为默认。我也有自定义背景图片。

默认情况下,这是首次加载视图时的样子: enter image description here

这正是我想要的。

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

enter image description here

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

3 个答案:

答案 0 :(得分:1)

由于清除条纹色调,它看起来像黑色背景。无需将条纹色调设置为清除颜色。将其设置为默认

答案 1 :(得分:0)

在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;

答案 2 :(得分:0)

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

- (void)setSearchFieldBackgroundImage :( nullable UIImage *)backgroundImage forState:(UIControlState)state NS_AVAILABLE_IOS(5_0)UI_APPEARANCE_SELECTOR;

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