搜索栏在 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;
我正在使用 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;