在实现搜索功能时,界面使用UISearchBar比较好,它实现了很多搜索时使用到的东西,但是默认的风格可能和现有的风格不一致,所以需要我们想办法去修改一下默认的外观。
1.去掉原生的背景:
[[mySearchBar.subviewsobjectAtIndex:0]removeFromSuperview];
[mySearchBarsetBackgroundColor:[UIColorclearColor]];
2.修改cancel按钮等外观:
http://hi.baidu.com/_delegate/item/bb2c770a357dfbebff240da6
用到UISearchBar的时候,有时需要改变它的背景颜色以保持界面统一,但是往往取消按钮的背景不会随着
UISearchBar的背景改变而改变。
下面给一个解决办法:
自己写一个类继承UISearchBar,在这个类里面重写- (void) addSubview:(UIView *)view的方法,如下:
- (void) addSubview:(UIView *)view {
[superaddSubview:view];
if ([view isKindOfClass:UIButton.class]) {
UIButton *cancelButton = (UIButton *)view;
[cancelButton setBackgroundImage:[UIImage imageNamed:@"xxx.png"] forState:UIControlStateNormal];
[cancelButton setBackgroundImage:[UIImage imageNamed:@"xxx.png"] forState:UIControlStateHighlighted];
}
}
注意:
如果UISearchBar是拖到xib上的,那么选中UISearchBar,把他的class选为你继承UISearchBar的那个类。
其他的等再用到了再添加。