欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

UISearchbar去除背景色的方法

程序员文章站 2022-07-13 13:01:13
...

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;
            }
        }
    }
}