UISearchBar searchbar =[[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
searchbar.showsCancelButton=NO;
searchbar.barStyle=UIBarStyleDefault; //searchbar按键类型,此处默认
searchbar.placeholder=@"aaaaaa";
searchbar.keyboardType=UIKeyboardTypePhonePad; //键盘类型
[cell addSubview:searchbar];
[searchbar release];
添加搜索框:
-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
[searchBar setShowsCancelButton:YES animated:YES];
self.tableView.allowsSelection=NO;
self.tableView.scrollEnabled=NO;
}
添加Cancel:
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{
searchBar.text=@"";
[searchBar setShowsCancelButton:NO animated:YES];
[searchBar resignFirstResponder];
self.tableView.allowsSelection=YES;
self.tableView.scrollEnabled=YES;
}
添加搜索:
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
NSArray *results;
[searchBar setShowsCancelButton:NO animated:YES];
[searchBar resignFirstResponder];
self.tableView.allowsSelection=YES;
self.tableView.scrollEnabled=YES;
[self.tableDate removeAllObjects];
[self.tableDate addObjectsFromArray:results];
[self.tableView reloadData];
}
最后绑定数据就是
复制数据
-(void)resetSearch{
self.names=[self.allNames mutabledeepCopy];
NSMutableArray *keyArray=[[NSMutableArray alloc]init];
keyArray addObjectsFromArray:[self.allNames allkeys]sortedAaa>>>>>:[[@selector(compare;) ]];
self.keys=keyArray;
[keyArray release];
}
实现搜索
-(void)handleSearchForTerm:(NSString *)searchterm{
NSMutableArray *s=[[NSMutableArray alloc]init];
[self resetSearch];
for (NSString *key in self.keys){
NSMutableArray *array=[names valueForKey:key];
NSMutableArray *toRemove=[[NSMutableArray alloc]init];
for (NSString *name in array) {
if([name rangeOfString:searchterm options:NSCaseInsensitiveSearch].location==NSNotFound)
[toRemove addObject:name];
}
if ([array count]==[toRemove count]) {
[s addObject:key];
[array removeObjectsInArray:toRemove];
[toRemove release];
}
[self.keys removeObjectsInArray:s];
[s release];
}
}
//修改Seacherbar 背景图片
UISearchBar* m_searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 44, 320, 41)];
m_searchBar.delegate = self;
m_searchBar.barStyle = UIBarStyleBlackTranslucent;
m_searchBar.autocorrectionType = UITextAutocorrectionTypeNo;
m_searchBar.autocapitalizationType = UITextAutocapitalizationTypeNone;
m_searchBar.placeholder = _(@"Search");
m_searchBar.keyboardType = UIKeyboardTypeDefault;
//+++++++++实现修改
UIView *segment = [m_searchBar.subviews objectAtIndex:0];
UIImageView *bgImage = [[UIImageView alloc] initWithImage:[UIImageimageNamed:@"Images/search_bar_bg.png"]];
[segment addSubview: bgImage];
//++++++++++
[self.view addSubview:m_searchBar];
[m_searchBar release];