思路是获取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. SSH登陆服务器的简单命令

    SSh 用户名@目标Ip: 回车输入密码:

  2. webpack入门笔记

    此为第一篇主要是webpack入门笔记: http://if-true.com/2015/10/16/webpack-tutorial-translate.html

  3. Soft Drinking(水)

    A. Soft Drinking time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  4. Triangle LOVE(拓扑排序)

    Triangle LOVE Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/65536K (Java/Other) Total ...

  5. deferred initcalls与模块化

    deferred initcalls与模块化 有两个技术可以加快kernel的启动速度: 1.deferred initcalls 2.模块化 它们的思想类似,都是将非必要的模块初始化推迟到内核启动之 ...

  6. SQL整理2

    数据库的概念 结构化查询语言:structured query language 简称:SQL 数据库管理系统:database management system 简称:DBMS 数据库管理员:da ...

  7. Backbone实例todos分析

    源码来自:http://todomvc.com/examples/backbone/ 这是一个用Backbone.js完成的待办事项实例,精简但完善,可以帮助很好的帮助理解Backbone的API,M ...

  8. XML CDATA(Mybatis mapper and XML)

    Tip:must be followed by either attribute specifications, ">" or "/>". 所有 X ...

  9. MyEclipse中jquery文件报错

  10. [转]easyui常用控件及样式收藏

    CSS类定义: div easyui-window                               window窗口样式 属性如下: 1)       modal:是否生成模态窗口.tru ...