我正在使用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的标题,它正常工作。但是当我把搜索栏视图作为自定义创建的视图而不是表头时,它就会消失。
任何见解都将受到赞赏。谢谢
答案 0 :(得分:1)
尝试使用以下两种设置:
self.searchController.hidesNavigationBarDuringPresentation = NO;
self.definesPresentationContext = NO;