UISearchController 搜索栏点击后消失

Posted

技术标签:

【中文标题】UISearchController 搜索栏点击后消失【英文标题】:UISearchController searchbar disappear after clicked 【发布时间】:2020-01-16 10:24:09 【问题描述】:

我的应用程序中有UISearchController

self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
[self.searchController setSearchResultsUpdater:self];
[self.searchController setDelegate:self];

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9.1")) 
    self.searchController.obscuresBackgroundDuringPresentation = NO;


self.searchController.searchBar.showsCancelButton = YES;

[self.searchBarView addSubview:self.searchController.searchBar];
self.searchController.searchBar.delegate = self;

问题是,当我点击搜索栏后,它会从屏幕上消失:

知道如何解决这个问题吗?

【问题讨论】:

而不是手动添加子视图..尝试navigationItem.searchController = searchController 【参考方案1】:

在你的controller中添加这行代码

 self.searchController.hidesNavigationBarDuringPresentation = NO;
 self.searchController.dimsBackgroundDuringPresentation = NO;
 self.definesPresentationContext = YES;

希望它能解决您的问题...如果不是...请在 cmets 中告诉我

【讨论】:

我试过了,但是当我使用它时,点击后searchvc无法填满屏幕 现在就试试吧。

以上是关于UISearchController 搜索栏点击后消失的主要内容,如果未能解决你的问题,请参考以下文章

UISearchController:即使搜索栏为空也显示结果

从 UISearchController 搜索栏快速删除黑色边框

点击时 UISearchController 会在屏幕外展开

标签栏和 UISearchController 出现黑屏

在 UISearchController 中搜索时无法在 tableView 中滚动

使用ios 8 UISearchController单击搜索栏时如何隐藏部分标题?