1

我正在使用UISearchController,当我单击 searchbar 时,我会看到动画,好像搜索栏将转到呈现的 searchcontroller 的导航栏,但动画消失了,并且呈现的键盘停留在那里。

在 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 是一个过滤数组,它从 ViewController 中的方法UIViewController获取其值-(void)updateSearchResultsForSearchController:(UISearchController *)searchController

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

任何见解将不胜感激。谢谢

4

1 回答 1

1

试试这两个设置:

self.searchController.hidesNavigationBarDuringPresentation = NO;
self.definesPresentationContext = NO;
于 2015-11-03T08:15:43.013 回答