【问题标题】:How to get search bar background transparant?(see image)如何让搜索栏背景透明?(见图)
【发布时间】:2016-07-28 11:23:59
【问题描述】:

在我看来我正在使用搜索控制器,但我无法摆脱令人讨厌的搜索栏背景。

我正在使用的代码:

import UIKit

class systemTable: UITableViewController, UISearchBarDelegate , UISearchResultsUpdating{

@IBOutlet var systemTable: UITableView!
var searchController = UISearchController()


override func viewDidLoad() {
    super.viewDidLoad()

    self.searchController = ({
        let controller = UISearchController(searchResultsController: nil)
        controller.searchResultsUpdater = self
        controller.searchBar.sizeToFit()
        controller.searchBar.delegate = self
        controller.searchBar.barTintColor = UIColor.lightGrayColor()
        controller.searchBar.translucent = true
        controller.searchBar.alpha = 1

        controller.searchBar.backgroundColor = UIColor.clearColor()
        controller.searchBar.layer.opacity = 1
        self.tableView.tableHeaderView = controller.searchBar
        return controller
    })()


}

图片:

明确一点:我想去掉上图中灰色的背景。

感谢任何帮助

@@@@@@@@@@@@@@@@@ 编辑 @@@@@@@@@@@@@@@@@ 新图像(尝试向下滚动时):

【问题讨论】:

  • 试试这个 controller.searchBar.barTintColor = UIColor.clearColor() controller.searchBar.backgroundImage= UIImage()
  • 完美运行!当我向下滑动时,我仍然看到灰色从顶部升起,我该如何摆脱它? @ChandanPrajapati
  • 您使用的是哪个 iOS 版本?
  • @ChandanPrajapati 8.0
  • controller.searchBar.setBackgroundImage(UIImage(), forBarPosition: .Any, barMetrics: .Default) searchBar.scopeBarBackgroundImage = UIImage()替换controller.searchBar.backgroundImage= UIImage()

标签: swift xcode uisearchbar uisearchdisplaycontroller uisearchcontroller


【解决方案1】:

它对我来说工作正常,但我相信你接近解决方案。就在你想念的地方试试吧。

这是我的代码

 searchController.searchBar.translucent = true
    searchController.searchBar.alpha = 1
    searchController.searchBar.backgroundImage = UIImage()
    searchController.searchBar.barTintColor = UIColor. clearColor()

【讨论】:

  • 很好的解决方案!在我的情况下,我需要白色背景上的浅灰色文本字段。除了您的解决方案之外,我还添加了: if let txfSearchField = searchController.searchBar.value(forKey: "_searchField") as? UITextField { txfSearchField.borderStyle = .none txfSearchField.backgroundColor = colorSBar txfSearchField.layer.cornerRadius = 10 txfSearchField.clipsToBounds = true }
【解决方案2】:

您看到的灰色背景似乎是 UITableView 的背景颜色,而不是 SearchBar / SearchController

【讨论】:

    【解决方案3】:

    尝试更改 Bar Tint 颜色 这对我有用。

    【讨论】:

      猜你喜欢
      • 2012-04-15
      • 2013-09-27
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 2021-05-04
      • 2018-11-30
      相关资源
      最近更新 更多