在Xcode 9中,当我将搜索栏放在视图中时,它会自动向下移动其余的UI。当我尝试从视图中删除搜索栏时,我得到了一个黑色的空间,而不是UI被纠正。我正在使用的行是:self.navigationItem.searchController = nil。我尝试了很多方法,但我不知道如何在搜索栏被移除后纠正UI。只有当我切换到另一个视图控制器并返回时,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
}
}
}