【问题标题】:iOS - UISearchBar textfield background black on focusiOS - UISearchBar 文本字段背景黑色焦点
【发布时间】:2017-07-28 08:15:45
【问题描述】:

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

这是第一次加载视图时默认的样子:

这正是我想要的样子。

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

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

【问题讨论】:

    标签: ios objective-c uisearchbar


    【解决方案1】:

    由于Clear bar tint Color,它看起来像黑色背景。无需将bar tint color设置为Clear Color。将其设置为Default

    【讨论】:

    • 它并没有改变什么可悲的。
    • Ohhh..我设置了相同的属性,它对我有用。
    • @bloemy 您是否启用了 traslucent 属性?
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2012-11-30
        • 2017-06-08
        • 1970-01-01
        • 1970-01-01
        • 2018-04-14
        • 1970-01-01
        • 1970-01-01
        • 2011-11-05
        相关资源
        最近更新 更多