自定义UISearchBar样式
2018-01-03 本文已影响49人
为之则易ing
UISearchBar默认样式:

自定义效果:

源码:
UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(50, 100, CGRectGetWidth(self.view.bounds) - 100, 50)];
searchBar.placeholder = @"搜索";
searchBar.backgroundImage = [[UIImage alloc] init];//去除灰色背景
searchBar.tintColor = [UIColor blueColor];//设置光标颜色
UITextField *searchField = [searchBar valueForKey:@"_searchField"];
searchField.backgroundColor = [UIColor colorWithRed:200/255.0 green:200/255.0 blue:200/255.0 alpha:1];//背景颜色
//设置文字
searchField.textColor = [UIColor blackColor];//文字颜色
searchField.font = [UIFont systemFontOfSize:14];//文字Font
//设置边框
searchField.layer.borderWidth = 0.5;
searchField.layer.borderColor = [UIColor grayColor].CGColor;
//设置圆角
searchField.layer.cornerRadius = 5;
//设置placeholder颜色
[searchField setValue:[UIColor lightGrayColor] forKeyPath:@"_placeholderLabel.textColor"];
//设置clearButton样式
[searchBar setImage:[UIImage imageNamed:@"searchClose"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateNormal];
[searchBar setImage:[UIImage imageNamed:@"searchClose"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateSelected];
//设置Search图标样式
[searchBar setImage:[UIImage imageNamed:@"search_edit"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];
[searchBar setImage:[UIImage imageNamed:@"search_edit"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateSelected];
[self.view addSubview:searchBar];