swift - 搜索控制器 .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。
解决方案
推荐阅读
- c# - 在 ASP.NET Core 3.1 Web 应用程序中获取“无法识别的 SameSiteMode 值 -1”InvalidOperationException
- r - 如何在 R 中创建具有菊花函数的相异矩阵?
- android - Firebase UI 数据库实现
- swift - Swift:尝试添加多个单元格支持的通用可重用集合视图
- php - 如何将数量数组乘以每个项目的价格?
- javascript - 状态字段的 DataTable 列值
- sql - 使用以前的值计算表中行的值
- vue.js - 使用 bootstrap-vue 组件和 bootstrap 3 动态显示/隐藏列
- python - 实例
不受会话约束;属性刷新操作无法进行 - android - 为什么我不能在 lambda 函数下调用 kotlin 挂起函数