搜索栏在 ios UIsearchcontroller 中消失

search bar getting disappeared in ios UIsearchcontroller

我正在使用 UISearchController,当我点击搜索栏时,我得到了动画,就好像搜索栏正转到呈现的搜索控制器的导航栏,动画逐渐消失,但它消失了,呈现的键盘保持不变那里。

在viewcontroller.m中,viewdidload方法,相关部分:

UIView *searchView = [[UIView alloc]initWithFrame:CGRectZero];
searchResultsViewController =[[SearchResultsViewController alloc]initWithNibName:@"SearchResultsViewController" bundle:nil];
self.searchController =[[UISearchController alloc]initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater=self;
self.searchController.dimsBackgroundDuringPresentation = NO;
searchView = self.searchController.searchBar;
self.definesPresentationContext = YES;
self.searchController.searchBar.delegate=self;
searchView.frame =CGRectMake(0, 50, [[UIScreen mainScreen]bounds].size.width, 40);
[self.view addSubview:searchView];

SearchResultsViewController 是一个 UIViewController 过滤数组,它的值来自 ViewController

中的 -(void)updateSearchResultsForSearchController:(UISearchController *)searchController 方法

由于搜索栏消失了,我尝试将搜索栏作为 ViewController 中 TableView 的 header,它工作正常。但是当我将搜索栏视图作为自定义创建的视图而不是 table header 时,它正在消失。

如有任何见解,我们将不胜感激。谢谢

试试这两个设置:

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