UISearchbar去除背景色的方法

UISearchbar去除背景色的方法

通常使用UISearchbar都需要去除其背景色来与自己的界面风格保持协调,但是UISearchbar的设计随着iOS版本的升级不断地在发生着变化。
在iOS7.0之前,UISearchbar视图里直接包含UISearchBarBackground和UISearchBarTextField两个视图,在iOS7.0及之后,UISearchbar视图里包含的是一个UIView视图,UIView视图里才是UISearchBarBackground和UISearchBarTextField两个视图

iOS7以后的背景设置,所以我们可以根据通过UIsearchbar的子视图设置我们想要的颜色

for (UIView *view in self.searchBar.subviews) {
    if ([view isKindOfClass:NSClassFromString(@"UIView")] && view.subviews.count > 0) {
        for (UIView *subView in view.subviews) {
            if ([subView isKindOfClass:NSClassFromString(@"UISearchBarTextField")]){
                //设置输入框
                [subView setBackgroundColor:[UIColor blackColor]];
                [(UITextField*)subView setTextColor:[UIColor whiteColor];
                break;
            }
        }
    }
}

你可能感兴趣的:(UISearchbar去除背景色的方法)