本文主要是介绍ios(总结)UISearchBar,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
UISearchBar:
1.初始化
UISearchBar *search = [[UISearchBaralloc]initWithFrame:CGRectMake(44,0, 375-50,44)];
2.设置代理属性UISearchBarDelegate
search.delegate =self;
3.设置灰度
search.placeholder =@"搜索";
4.加到tableView上面
self.navigationItem.titleView = search;
5.获得searchBar里面的内容的几个方法
本地数据库查询,速度较快的产生数据
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
//输入文字开始进行模糊查询,查询名字,电话是否包含这些数据
select * from t_contact where name like '%searchText' or age like '%searchText%'
//%要转,两个%相当于一个%
//%% == %记住
NSString *sql = [NSString stringWithFormat: @" select * from t_contact where name like '%%%@%%' or age like '%%%@%%';",searchText,searchText];
// _contactArray = (NSMutableArray *)[ContectTool contactWithSql:sql];
// [_tableView reloadData];刷新下tableView
}
6.点击键盘上search的按钮就点击
//服务器查询
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
模糊查询:
NSString *sql = [NSStringstringWithFormat:@" select * from t_contact where name like '%%%@%%' or age like '%%%@%%';",searchBar.text,searchBar.text];
_contactArray = (NSMutableArray *)[ContectToolcontactWithSql:sql];
[_tableView reloadData];
}
7.输入文字时调用的代理方法
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
7-1.搜索旁边的cancel按钮修改cancel转为中文
searchBar.showsCancelButton =YES;
7-2.获得searchBar的子视图
UIView *firstSub = [searchBar.subviewslastObject];
7-3.取出子视图对应的按钮进行修改为我们自定义类型的按钮
for (UIView *subin firstSub.subviews) {
if ([subisKindOfClass:NSClassFromString(@"UINavigationButton")]) {
UIButton *btn = (UIButton *)sub;
[btn setBackgroundImage:[UIImageimageNamed:@""]forState:UIControlStateNormal];
[btn setTitle:@"取消"forState:UIControlStateNormal];
btn.titleLabel.font = [UIFontsystemFontOfSize:14];
}
}
}
8.点击取消按钮
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{ 8-1.收起键盘
[searchBar resignFirstResponder];
8-2.搜索按钮显示状态取消
searchBar.showsCancelButton =NO;
}
这篇关于ios(总结)UISearchBar的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!