iOS开篇——UI之UITableView的搜索

把tableView的头视图 设置为一个searchBar

创建一个新的数组  用来存储搜索到的信息

 

1     _searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)];
2     _searchDC = [[UISearchDisplayController alloc]initWithSearchBar:_searchBar contentsController:self];
3     
4     
5     _searchDC.searchResultsDelegate = self;
6     _searchDC.searchResultsDataSource = self;
7     
8     _tableView.tableHeaderView = _searchBar;

 

在返回cell数量的代理方法中

 1 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
 2     
 3     if (tableView == _tableView) {
 4         return _dataArray.count;
 5     }
 6     
 7     if (_searchArray == nil) {
 8         _searchArray = [[NSMutableArray alloc]init];
 9     }else{
10         [_searchArray removeAllObjects];
11     }
12     
13     for (NSDictionary * dic in _dataArray) {
14         NSRange range = [dic[@"name"] rangeOfString:_searchBar.text];
15         if (range.length) {
16             [_searchArray addObject:dic];
17         }
18     }
19     
20     return _searchArray.count;
21 }

 

posted @ 2015-12-07 23:43  GXcoder  阅读(186)  评论(0编辑  收藏  举报