serachBar这个问题真的是让我又爱又恨。
真的想对封锁的局域网想吐槽。真的是浪费了我一下午的时间。浪费时间是不好的
现在用到了serachBar。对于serachBar这个console自带的按钮,是不是有很多人要改变它的原始状态,颜色呢。
今天我就做了小白鼠。话不多说。现在由于版本问题,seracBar的取消按钮获取改变了。由于我用的是7以上的版本,在网上搜到的全是6以下获取到的console按钮的方法,让我想大哭呀。
我们可以在 程序将要加载的方法中 判断下我们所使用的版本信息,来获取console按钮。进行设置颜色,左侧按钮呢。
self.getIOSVersion=[[[UIDevice currentDevice] systemVersion] intValue];//这里是得到版本信息
//版本不同得到,获取到的取消按钮不同
if ( self.getIOSVersion < 7) {
self.subviews = self.serachBarBtn.subviews;//这里是7下的获取
} else {
self.subviews = [(self.serachBarBtn.subviews[0]) subviews];//这里7上的获取
}
for (id view in self.subviews) {
if ([view isKindOfClass:[UIButton class]]) {
UIButton* cancelbutton = (UIButton* )view;
[cancelbutton setTitle:@"取消" forState:UIControlStateNormal];//在这个区域就可以修改了你想修改的内容呢。
break;
}
}
//这里是修改serachBar的外框颜色
[self.serachBarBtn setSearchFieldBackgroundImage:[UIImage imageNamed:@"classRoom_serachBgd.png"] forState:UIControlStateNormal];
这里是修改serachBar的左侧按钮的图片
[self.serachBarBtn setImage:[UIImage imageNamed:@"classRoom_serbtnbgd.png"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];