思路是获取UISearchBar的子视图,判断他是否是输入框(注意不要先入为主地认为是UITextField),最后修改背景色。至于UISearchBar的子视图结构,在不同的iOS版本可能会不一样,可通过递归地调用description方法获知,具体可见链接http://blog.csdn.net/forestml2008/article/details/32914915

下面附上代码:

 1 - (void)setSearchTextFieldBackgroundColor:(UIColor *)backgroundColor
2 {
3 UIView *searchTextField = nil;
4 if (IsiOS7OrLater) {
5 // 经测试, 需要设置barTintColor后, 才能拿到UISearchBarTextField对象
6 self.barTintColor = [UIColor whiteColor];
7 searchTextField = [[[self.subviews firstObject] subviews] lastObject];
8 } else { // iOS6以下版本searchBar内部子视图的结构不一样
9 for (UIView *subView in self.subviews) {
10 if ([subView isKindOfClass:NSClassFromString(@"UISearchBarTextField")]) {
11 searchTextField = subView;
12 }
13 }
14 }
15
16 searchTextField.backgroundColor = backgroundColor;
17 }

UISearchBar--改变内部输入框的背景颜色的更多相关文章

  1. EasyUI/TopJUI之如何动态改变下拉列表框ComboBox输入框的背景颜色

    简单记录一下 前段时间接到客户需求:动态改变下拉列表框ComboBox输入框的背景颜色. 刚开始想的很简单在用户选择列表项的时候,判断一下列表框的value值添加相应的背景颜色就OK了,然而在实际操作 ...

  2. MFC 如何改变对话框的默认背景颜色(转)

    下面介绍三种方法:实现改变对话框的默认背景颜色:   (1)可以在CLotteryApp::InitInstance()设置更新对话框的背景颜色       调用SetDialogBkColor(RG ...

  3. 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色

    原文:在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 例如根据学生的年龄来修改,年龄 ...

  4. ios开发之--调整UISearchBar的输入框的背景颜色

    遍历UISearchBar的子视图,找到输入框坐在的view,添加背景颜色即可. 代码如下: UISearchBar *searchBar = [[UISearchBar alloc] initWit ...

  5. Extjs 改变grid行的背景颜色

    ## Ext grid 改变行背景色 Ext.util.CSS.createStyleSheet('.ts {background:#9a9a9bc2;}');//单独创建css样式 { xtype: ...

  6. css selection改变文字反选的背景颜色

    <style type="text/css"><!--.ai::-moz-selection { background:#cc0000; color:#fff; ...

  7. 动态改变Listview的item背景颜色和item中字体的颜色

    https://blog.csdn.net/qq_14813933/article/details/50417859

  8. css改变input输入框placeholder值颜色

    ::-webkit-input-placeholder { /* WebKit browsers */ color: #fff; } :-moz-placeholder { /* Mozilla Fi ...

  9. 改变 TMemo 的背景颜色 (Firemonkey)

    说明:展示使用程序码改变 Firemonkey TMemo 的背景颜色. 适用:XE6 源码下载:[原創]Memo改背景色_XE6.zip //---------------------------- ...

随机推荐

  1. ByteBuffer用法总结

    转自:http://blog.csdn.net/mars5337/article/details/6576417 在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChanne ...

  2. Cipher(置换群)

    Cipher Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20821   Accepted: 5708 Descripti ...

  3. sdut 3-5 学生成绩统计

    3-5 学生成绩统计 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 通过本题目练习能够掌握对象数组的使用方法,主要是对象数组中数据的输入输出操作. 设计 ...

  4. Java面试题之Class.forName的作用

    按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载过,则返回代表该字节码的Class实例对象,否则,按类加载器的委托机制去搜索和加载该类,如果所有的类加载器都无法加载到该类, ...

  5. wcf 速成,转的啊 第一天

    作为WCF速成系列,只介绍些项目开发中常用到的实战知识. 学习wcf,还是对其中的几个术语要了解一下.wcf中有一个ABC的概念,就是 第一: "A" 是地址,就是告诉别人我wcf ...

  6. maven 引用自己的jar

    <build>    <plugins>        <plugin>            <groupId>org.apache.maven.pl ...

  7. opcache effect

    with open opcache, the monitor cpu idle log , there are so much curl_exec and gzip in our php logic ...

  8. QF——iOS程序运行原理(APP的生命周期)

    iOS程序的运行原理: main.m: 1. main.m 主函数是所有程序的入口函数. 2. 在main函数里是UIApplicationMain函数,开启了一个无限循环,以监听该应用. 该UIAp ...

  9. 【phpcms-v9】如何实现在含有子栏目的栏目下添加内容?

    对于题目的解释: 假设现在有一个一级栏目 为:栏目1 其下有二级栏目  :栏目1=>栏目11,栏目1=>栏目12,栏目1=>栏目13 同时栏目1下有文章列表 : 栏目1-----文章 ...

  10. CSS超链接-光标-缩放

    CSS超链接-光标-缩放 1.CSS 中链接的使用2.CSS 中光标的使用3.CSS 中缩放的使用 1.CSS 中链接的使用超链接伪类属性a:link    表示该超链接文字尚未被点选a:visite ...