首页 > 解决方案 > 搜索控制器 .dimsBackgroundDuringPresentation 也会使状态栏变暗?

问题描述

我有一个功能来设置我添加到 View Did Load 的搜索控制器。

func setUpSearchController() {
        searchController.delegate = self
        searchController = UISearchController(searchResultsController: nil)
        searchController.hidesNavigationBarDuringPresentation = true
        searchController.dimsBackgroundDuringPresentation = true
        searchController.searchBar.sizeToFit()
        searchController.searchBar.backgroundColor = .white
        searchController.searchBar.barTintColor = .white
        searchController.searchBar.placeholder = "Search"
        searchController.searchBar.searchBarStyle = .minimal
        searchController.searchBar.tintColor = Colours.brandGreen
        definesPresentationContext = true
        messagesTableView.tableHeaderView = searchController.searchBar
    }

单击搜索栏时,搜索控制器按预期将背景变暗

searchController.dimsBackgroundDuringPresentation = true

问题是它还会使状态栏变暗,使 UI 看起来很丑。任何人都知道如何排除状态栏也变暗?

一如既往,非常感谢任何帮助。下图。 状态栏插图

更新

我意识到我正在使用 TableView Header 中的 Search Controllers Search Bar 并将其更改为

messagesTableView.tableHeaderView = searchController.searchBar

navigationItem.searchController = searchController

我得到了想要的结果。但是,我仍然喜欢 Table Views 标题中的 Search Controllers Search Bar。

标签: swiftuisearchcontrolleruistatusbar

解决方案


推荐阅读