问题描述
- IOS:修改UISearchBar内部的背景颜色
- 我知道如何修改和移除UISearchBar的背景颜色
[[self.searchBar.subviews objectAtIndex:0] removeFromSuperview];self.searchBar.backgroundColor = [UIColor grayColor];
但是不知道怎么修改内部的背景颜色
在IOS4.3及以上版本用的。
解决方案
可以改变内部背景图片的代码:
UITextField *searchField;NSUInteger numViews = [searchBar.subviews count];for(int i = 0; i < numViews; i++) { if([[searchBar.subviews objectAtIndex:i] isKindOfClass:[UITextField class]]) { searchField = [searchBar.subviews objectAtIndex:i]; }}if(!(searchField == nil)) { searchField.textColor = [UIColor whiteColor]; [searchField setBackground: [UIImage imageNamed:@""yourImage""]];//在这添加灰色的图片 [searchField setBorderStyle:UITextBorderStyleNone];}
修改UISearchBarIcon
的代码:
UIImageView *searchIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@""yourSearchBarIconImage""]];searchIcon.frame = CGRectMake(10 10 24 24);[searchBar addSubview:searchIcon];[searchIcon release];
在IOS5以上的版本修改searcBar图标
- (void)setImage:(UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state
时间: 2024-09-11 04:40:36