UISearchBar 改变编辑去背景颜色

1. 使用此代码改变搜索栏“UITextField将backgroundImage

UITextField *searchField;
NSUInteger numViews = [searchBar.subviews count];
for(int i = 0; i < numViews; i++) {
 if([[searchBar.subviews objectAtIndex:i] isKindOfClass:[UITextField class]]) { //conform?
  searchField = [searchBar.subviews objectAtIndex:i];
 }
}
if(!(searchField == nil)) {
 searchField.textColor = [UIColor whiteColor];
 [searchField setBackground: [UIImage imageNamed:@"yourImage"]];//just add here gray image which you display in quetion
 [searchField setBorderStyle:UITextBorderStyleNone];
}

波纹管代码的变化UISearchBarIcon

 UIImageView *searchIcon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourSearchBarIconImage"]];
searchIcon.frame = CGRectMake(10, 10, 24, 24);
[searchBar addSubview:searchIcon];
[searchIcon release];

也为改变searcBar图标搜索栏的你哪些可用的iOS 5 +

- (void)setImage:(UIImage *)iconImage forSearchBarIcon:(UISearchBarIcon)icon state:(UIControlState)state

在这里你可以设置4种UISearchBarIconUISearchBarIconBookmarkUISearchBarIconClearUISearchBarIconResultsListUISearchBarIconSearch我希望这可以帮助您...

2. 根据的UISearchBar
你这个函数适用于iOS 5.0 +。

- (void)setSearchFieldBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state

用例:

[mySearchBar setSearchFieldBackgroundImage:myImage forState:UIControlStateNormal];

可悲的是,在iOS 4的你需要恢复到较少见其他的答案。

3. 只是自定义文本字段本身。
我只是这样做的,它工作正常(的iOS 7)。

UITextField *txfSearchField = [_searchBar valueForKey:@"_searchField"];
txfSearchField.backgroundColor = [UIColor redColor];

这样,您就不需要创建一个图像,它的大小,等..

4. 对于只改变颜色:

searchBar.tintColor = [UIColor redColor];

为应用背景图像:

[self.searchBar setSearchFieldBackgroundImage:
       [UIImage imageNamed:@"Searchbox.png"]
          forState:UIControlStateNormal];

5. 私有API的:

for (UIView* subview in [[self.searchBar.subviews lastObject] subviews]) {
 if ([subview isKindOfClass:[UITextField class]]) {
  UITextField *textField = (UITextField*)subview;
  [textField setBackgroundColor:[UIColor redColor]];
 }
}

时间: 2024-10-10 23:47:39

UISearchBar 改变编辑去背景颜色的相关文章

IOS_改变UITextField placeHolder颜色、字体

IOS_改变UITextField placeHolder颜色.字体 我们有时需要定制化UITextField对象的风格,可以添加许多不同的重写方法,来改变文本字段的显示行为.这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围,甚至修改placeHolder颜色,字体. – textRectForBounds:     //重写来重置文字区域 – drawTextInRect:        //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函

可实现随意切换的button同时随切换改变title的颜色

-(void)addBtn { NSArray *arr = [[NSArray alloc] initWithObjects:@"未使用",@"已使用",@"已付款",@"退款", nil]; for (int i = 0; i < 4; i ++) { UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn.frame = CGRe

ios点击改变uiview背景颜色

ios点击改变uiview背景颜色是一个再常见不过的需求.第一反应应该不麻烦,于是写了个第一个版本 @interface RespondentUIView() { UIColor * bgColor; } @end @implementation RespondentUIView- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { bgColor = self.backgroundColor; self.backgr

制作由下向上的滚动字幕,字幕内容要求包含网站超级链接和图片超级链接, 使用鼠标移动事件控制字幕运动和停止。 2、在下拉列表框中设置五种以上颜色,选择颜色后, 滚动字幕背景色改变成相应颜色

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <!--        时间:2016-12-28        描述:1.制作由下向上的滚动字幕,字幕内容要求包含网站超级链接和图片超级链接,                   使用鼠标移动事件控制

改变图片的颜色

定义 #import <UIKit/UIKit.h> @interface UIImage (ChangeImageColor) /** * 改变图片的颜色 * * @param tintColor <#tintColor description#> * * @return <#return value description#> */ - (UIImage *) imageWithTintColor:(UIColor *)tintColor; @end 实现 - (U

用JS让下拉框改变网页背景颜色

<HTML> <HEAD> <TITLE>石家庄渣浆泵配件</TITLE> </HEAD> <SCRIPT> <!-- function bgChange(selObj) { newColor = selObj.options[selObj.selectedIndex].text; document.bgColor = newColor; selObj.selectedIndex = -1; } //--> </SC

设置超链接在各种状态改变的样式颜色

设置超链接在各种状态改变的样式颜色,在html的<head>标签下面添加下面的样式,可以自己根据需要修改样式. <style> a:link {color:blue;} a:visited {color:blue;} a:hover {color:red;} a:active {color:yellow;} </style> a:link 表示未未访问的状态. a:visited 表示已访问过的状态. a:hover  表示鼠标移动到链接上时的状态. a:active 

placeholder属性改变默认字体颜色(浅灰色)

html5为input添加了原生的占位符属性placeholder,高级浏览器都支持这个属性,例如: <input type="text" placeholder="博客园" value=" "> 默认的placeholder字体颜色是呈浅灰色,如果想改变这个默认颜色,解决方案如下: input:-moz-placeholder, textarea:-moz-placeholder { color: #fff; } input:-ms

038改变状态栏的颜色(扩展知识:关于iOS不同版本的消息通知知识)

效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController 4 @end ViewController.m 1 #import "ViewController.h" 2 3 @interface ViewController () 4 - (void)userNotificationDidPush:(UIApplication *)appl