Swift - 在UISearchBar顶部可见的范围按钮

时间:2016-08-28 05:00:31

标签: ios swift

我创建了一个搜索栏和一个范围栏,但是当页面启动时,范围按钮会直接显示在搜索栏后面。我知道.Minimal设置使我的搜索栏半透明,但它给我一个漂亮的灰色,在白色背景上看起来很棒。

单击搜索栏,然后单击取消按钮将正确显示所有内容。下面的链接显示了我正在谈论的内容。

UISearchBarStyleMinimal shows scope buttons on top of UISearchBar

有谁知道如何解决这个问题?

SearchController.swift

let searchController = UISearchController(searchResultsController: nil)

override func viewDidLoad() {
    super.viewDidLoad()

    // Create search bar
    self.searchController.searchResultsUpdater = self
    self.searchController.dimsBackgroundDuringPresentation = false
    self.searchController.hidesNavigationBarDuringPresentation = true
    self.searchController.searchBar.sizeToFit()

    self.definesPresentationContext = true
    self.tableView.tableHeaderView = searchController.searchBar

    self.searchController.searchBar.delegate = self
    self.searchController.searchBar.scopeButtonTitles = ["All", "btn1", "btn2", "btn3"]

    tableView.allowsMultipleSelectionDuringEditing = true
}

AppDelegate.swift

    UISearchBar.appearance().searchBarStyle = .Minimal
    UISearchBar.appearance().backgroundColor = UIColor.whiteColor()
    UISearchBar.appearance().barTintColor = UIColor.whiteColor()
    UISearchBar.appearance().tintColor = Constants.MAIN_THEME_COLOR

1 个答案:

答案 0 :(得分:3)

我的搜索遇到了同样的问题,但通过添加以下内容解决了这个问题:

self.searchController.searchBar.showsScopeBar = true