【发布时间】:2018-03-12 20:27:56
【问题描述】:
在 xcode 9 中,当我将搜索栏放在视图中时,它会自动向下移动 UI 的其余部分。当我尝试从视图中删除搜索栏时,我得到一个黑色空间,而不是更正 UI。我正在使用的行是:self.navigationItem.searchController = nil。我尝试了很多东西,但在删除搜索栏后我不知道如何更正 UI。只有当我移动到另一个视图控制器并返回时,用户界面才再次正确,没有搜索栏。我在这里错过了什么?
代码:
@IBAction func searchIconPressed(_ sender: UIBarButtonItem) {
//ios 11
if #available(iOS 11.0, *) {
if self.navigationItem.searchController == nil {
self.navigationItem.searchController = self.searchController
self.searchController.isActive = true
}
else {
self.navigationItem.searchController?.isActive = false
self.navigationItem.searchController = nil
}
}
//when ios 9-10
else {
if self.navigationItem.titleView == nil {
self.navigationItem.titleView = self.searchController.searchBar
self.searchController.isActive = true
}
else {
self.navigationItem.titleView = nil
}
}
}
}
【问题讨论】: