您的位置:首页 > 产品设计 > UI/UE

UISearchbar 常用代理方法

2012-08-06 12:35 253 查看
UISearchBar searchbar =[[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
searchbar.showsCancelButton=NO;
searchbar.barStyle=UIBarStyleDefault;
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];

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: