首页 > 代码库 > ios UISearchController
ios UISearchController
1.searchResultsUpdater:设置显示搜索结果的控制器
_mySearchController.searchResultsUpdater = self;
2.dimsBackgroundDuringPresentation:设置开始搜索时背景显示与否
_mySearchController.dimsBackgroundDuringPresentation = NO;
3.[searchBar sizeToFit]:设置searchBar位置自适应
[_mySearchController.searchBar sizeToFit];
4.设置searchBar为UITableView的头部视图
self.myTableView.tableHeaderView = self.mySearchController.searchBar;
5.UISearchResultsUpdating:代理方法
话不多说,直接上代码
@interface ViewController () @property (nonatomic, strong) UITableView *myTableView; @property (nonatomic, strong) NSMutableArray *visableArray; @property (nonatomic, strong) NSMutableArray *filterArray; @property (nonatomic, strong) NSMutableArray *dataSourceArray; @property (nonatomic, strong) UISearchController *mySearchController; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self initial]; } - (void)initial{ self.dataSourceArray = [NSMutableArray array]; self.filterArray = [NSMutableArray array]; for (int i = 0; i < 26; i++) { for (int j = 0; j < 4; j++) { NSString *str = [NSString stringWithFormat:@"%c%d", ‘A‘+i, j]; [self.dataSourceArray addObject:str]; } } self.visableArray = self.dataSourceArray; self.myTableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; _myTableView.delegate = self; _myTableView.dataSource = self; [self.view addSubview:_myTableView]; self.mySearchController = [[UISearchController alloc] initWithSearchResultsController:nil]; _mySearchController.searchResultsUpdater = self; _mySearchController.dimsBackgroundDuringPresentation = NO; [_mySearchController.searchBar sizeToFit]; self.myTableView.tableHeaderView = self.mySearchController.searchBar; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ if (!_visableArray || _visableArray.count == 0) { _visableArray = _dataSourceArray; } return _visableArray.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"identifier"]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"identifier"]; } cell.textLabel.text = [_visableArray objectAtIndex:indexPath.row]; return cell; } - (void)updateSearchResultsForSearchController:(UISearchController *)searchController{ NSString *filterString = searchController.searchBar.text; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains [c] %@", filterString]; self.visableArray = [NSMutableArray arrayWithArray:[self.dataSourceArray filteredArrayUsingPredicate:predicate]]; [self.myTableView reloadData]; }
ios UISearchController
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。