首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从视图和更新UI中删除iOS 11搜索栏

如何从视图和更新UI中删除iOS 11搜索栏
EN

Stack Overflow用户
提问于 2017-10-01 23:55:47
回答 2查看 3.4K关注 0票数 10

在Xcode9中,当我将搜索栏放在视图中时,它会自动向下移动UI的其余部分。当我试图从视图中删除搜索栏时,我得到一个黑色空格,而不是正在更正的UI。我使用的行是: self.navigationItem.searchController = nil。我尝试了很多东西,但我不知道如何纠正用户界面后,搜索栏被删除。只有当我移动到另一个视图控制器并返回时,UI才会在没有搜索栏的情况下再次正确。这里我漏掉了什么?

代码:

代码语言:javascript
复制
@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
        }
    }
}

}

EN

回答 2

Stack Overflow用户

发布于 2017-10-03 22:28:38

从视图中删除搜索栏并使UI再次上移的答案:

代码语言:javascript
复制
self.navigationItem.searchController?.isActive = false
let search = UISearchController(searchResultsController: nil)
self.navigationItem.searchController = search
self.navigationItem.searchController = nil
票数 6
EN

Stack Overflow用户

发布于 2017-11-02 10:00:50

这里是目标C

代码语言:javascript
复制
[self.navigationItem.searchController setActive:NO];
UISearchController *nilSearch = [[UISearchController alloc] initWithSearchResultsController:nil];
self.navigationItem.searchController = nilSearch;
self.navigationItem.searchController = nil;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46514131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档