2019独角兽企业重金招聘Python工程师标准>>>
//初期化
self.searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, DEVICE_WIDTH - 120, 34)];
//修改searchBar 方法镜图片
[self.searchBar setImage:[UIImage imageNamed:@"store_search_small"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];
//设置默认文字
[self.searchBar setPlaceholder:@"输入地址/店名"];
self.searchBar.delegate = self;
//设置是否显示UISearchBar自带的cancel按钮
self.searchBar.showsCancelButton = YES;
[self.view addSubview:self.searchBar];
for(id cc in [[self.searchBar.subviews lastObject] subviews])
{
//修改UISearchBar自带的cancel按钮样式
if([cc isKindOfClass:[UIButton class]])
{
UIButton *btn = (UIButton *)cc;
[btn setTitle:@"取消" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[btn setTitleColor::[UIColor redColor] forState:UIControlStateHighlighted];
btn.titleLabel.font = [UIFont systemFontOfSize:14];
btn.enabled=YES;
}
//修改UISearchBar自带的UITextField样式
if ([cc isKindOfClass:[UITextField class]]){
UITextField * searchField = (UITextField *)cc;
searchField.layer.cornerRadius = 15;
[searchField setValue: [UIColor blueColor] forKeyPath:@"_placeholderLabel.textColor"];
searchField.textColor = [UIColor grayColor] ;
searchField.backgroundColor = [UIColor redColor] ;
}
//去掉UISearchBar自带的背景框
if ([cc isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
[cc removeFromSuperview];
}
}
#pragma mark UISearchBarDelegate
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
//检测搜索框中文字变化
}
//点击键盘上搜索按钮的响应事件
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
//收回键盘
[self.searchBar resignFirstResponder];
}