搜索栏在ios UIsearchcontroller中消失了

时间:2015-11-03 08:11:50

标签: ios objective-c uisearchcontroller searchbar uisearchresultscontroller

我正在使用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的标题,它正常工作。但是当我把搜索栏视图作为自定义创建的视图而不是表头时,它就会消失。

任何见解都将受到赞赏。谢谢

1 个答案:

答案 0 :(得分:1)

尝试使用以下两种设置:

self.searchController.hidesNavigationBarDuringPresentation = NO;
self.definesPresentationContext = NO;
相关问题