在Xcode9中,当我将搜索栏放在视图中时,它会自动向下移动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
}
}
}}
发布于 2017-10-03 22:28:38
从视图中删除搜索栏并使UI再次上移的答案:
self.navigationItem.searchController?.isActive = false
let search = UISearchController(searchResultsController: nil)
self.navigationItem.searchController = search
self.navigationItem.searchController = nil发布于 2017-11-02 10:00:50
这里是目标C
[self.navigationItem.searchController setActive:NO];
UISearchController *nilSearch = [[UISearchController alloc] initWithSearchResultsController:nil];
self.navigationItem.searchController = nilSearch;
self.navigationItem.searchController = nil;https://stackoverflow.com/questions/46514131
复制相似问题