【发布时间】:2019-10-09 20:21:40
【问题描述】:
这里有一个奇怪的情况。当我使用UISearchController 时,我首先得到了这个外观(如预期的那样)
但是当您在 TextField 内选择开始搜索时,状态栏会变成全白(如果您处于暗模式,则为黑色)
这从未发生过。 UISearchController 中是否有一些设置告诉它在使用搜索栏时使用某种状态栏样式?
我希望它保持选择 TextField 之前的颜色
---编辑---
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItem.Style.plain, target: nil, action: nil)
frc = getFRC()
frc.delegate = self
self.resultsSearchController.delegate = self
let searchBar = self.resultsSearchController.searchBar
self.resultsSearchController.searchResultsUpdater = self
self.resultsSearchController.obscuresBackgroundDuringPresentation = false
self.resultsSearchController.extendedLayoutIncludesOpaqueBars = true
searchBar.sizeToFit()
self.tableView.tableHeaderView = searchBar
searchBar.placeholder = "Catalog Search"
searchBar.barTintColor = UIColor.darkAqua
searchBar.searchTextField.backgroundColor = UIColor.white
self.definesPresentationContext = true
searchBarHeight = searchBar.frame.height
do {
try frc.performFetch()
} catch {
error.tryError(tryMessage: "Perform initial fetch", loc: self)
}
if tutorials.catalog {
createTutorialTab(segueNameOnOpen: "catalogTutorial")
}
}
【问题讨论】:
-
如果键盘出现,你调整框架?这可能是问题之一。
-
不,没有调整框架。
-
您要更改状态栏或导航栏的属性吗?即 .backgroundColor = .white?
-
不,那里也没有。我会在上面发布我的
viewDidLoad -
只是一个预感..你可以尝试使用这条线 self.resultsSearchController.hidesNavigationBarDuringPresentation = false
标签: ios swift uisearchcontroller