自从接触iOS快一年多的时间了,感觉自己还是菜鸟一枚,最近在整理自己的开发过程中得点点滴滴,想通过博客的形式记录下来。本博客会陆续添加内容,鉴于本人水平有限,如有错误,请给与指正,感激不尽。
修改UISearchBar的样式,网上也有很多种,也都大同小异,本篇也不例外,但确实很实用,废话不多说,上代码:
1.UISearchBar带有背景颜色的
if (!_searchBar) {
_searchBar=[[UISearchBar alloc]initWithFrame:CGRectMake(10, 20, self.view.frame.size.width-20, 40)];
_searchBar.placeholder=@"搜索";
_searchBar.delegate=self;
//searchBar的背景颜色
//1.
[_searchBar setBackgroundColor:[UIColor orangeColor]];
//2.关键
[[[_searchBar.subviews objectAtIndex:0].subviews objectAtIndex:0] removeFromSuperview];
//显示取消按钮
_searchBar.showsCancelButton=YES;
UIButton *cancelBtn=[_searchBar valueForKey:@"_cancelButton"];
[cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
cancelBtn.titleLabel.font=[UIFont systemFontOfSize:14];
[cancelBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
//设置光标的颜色
_searchBar.tintColor=[UIColor redColor];
UITextField *searchFiled=[_searchBar valueForKey:@"_searchField"];
//设置处于编辑状态
[searchFiled becomeFirstResponder];
//输入文本的颜色
searchFiled.textColor=[UIColor greenColor];
//输入文本字体的大小
searchFiled.font=[UIFont systemFontOfSize:14];
//输入框的圆角设置
searchFiled.layer.cornerRadius=10;
searchFiled.layer.masksToBounds=YES;
//输入框里面的背景颜色
searchFiled.backgroundColor=[UIColor whiteColor];
//提示文本的颜色
[searchFiled setValue:[UIColor lightGrayColor] forKeyPath:@"_placeholderLabel.textColor"];
self.cancelField=searchFiled;
//输入框里的图标
[_searchBar setImage:[UIImage p_w_picpathNamed:@"boy.jpg"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];
[self.view addSubview:_searchBar]
2.UISearchBar不带背景颜色的
// 如果不要searchBar的背景颜色
// 1.关键
[_searchBar setBackgroundColor:[UIColor clearColor]];
[[[_searchBar.subviews objectAtIndex:0].subviews objectAtIndex:0] removeFromSuperview];
// 2.
UIView *searchView=[[UIView alloc]initWithFrame:CGRectMake(10, 20, self.view.frame.size.width-20, 40)];
searchView.layer.cornerRadius=10;
searchView.layer.borderColor=[UIColor orangeColor].CGColor;
searchView.layer.borderWidth=1.f;
[self.view addSubview:searchView];
[self.view addSubview:_searchBar];
#pragram--
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
NSLog(@"实时监控文字输入");
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
NSLog(@"点击搜索按钮");
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
NSLog(@"点击取消按钮");
[self.cancelField resignFirstResponder];
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。