首页 > 代码库 > UISearchBar--改变内部输入框的背景颜色
UISearchBar--改变内部输入框的背景颜色
思路是获取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--改变内部输入框的背景颜色
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。