码迷,mamicode.com
首页 > 其他好文 > 详细

UISearchBar--改变内部输入框的背景颜色

时间:2014-11-15 18:37:28      阅读:14716      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   color   ar   os   sp   

思路是获取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--改变内部输入框的背景颜色

标签:des   style   blog   http   io   color   ar   os   sp   

原文地址:http://www.cnblogs.com/lYcHeeM/p/4099693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!