在使用searchBar的过程中,常常要有一些特殊的场景不需要他的灰色边框、改变textView背景.....但是searchBar得这些属性的修改都是很麻烦的,下面我就介绍一下常用的几个修改方法。
去掉灰色背景框(效果如图所示):
for (UIView *view in self.searchBar.subviews) {
if ([view isKindOfClass:[UIView class]] && view.subviews.count > 0) {
[view.subviews[0] removeFromSuperview];
break;
}
}
UIView *text = [[[self.searchBar.subviewsfirstObject]subviews]lastObject];
text.backgroundColor = [UIColorcolorWithWhite:0.312alpha:1.000];
Cancel按钮改成中文(效果如图所示):
self.searchBar.showsCancelButton =YES;
for (UIView *viewin [[self.searchBar.subviewslastObject] subviews]) {
if ([view isKindOfClass:[UIButton class]]) {
UIButton *cancelBtn = (UIButton *)view;
[cancelBtn setTitle:@"取消"forState:UIControlStateNormal];
}
}
修改输入框背景颜色
UIView *text = [[[searchBar.subviews firstObject]subviews]lastObject];
text.backgroundColor = RGBA(36, 42, 51, 1);
修改输入框内字体颜色
UITextField *searchField = [_searchBar valueForKey:@"_searchField"];
searchField.textColor = [UIColor whiteColor];