美文网首页iOS
IOS 中 对 UISearchBar 设置背景颜色

IOS 中 对 UISearchBar 设置背景颜色

作者: JoeWcc | 来源:发表于2018-10-22 11:16 被阅读4次

    UISearchBar 创建的时候 自带一个 灰色背景 很多时候我们需要 更改这个背景颜色

    直接 searchBar.backgroundColor = [UIColor whiteColor];  这样设置是 无效的

    在对 UISearchBar 设置背景颜色的时候 需要先把 UISearchBarBarBackground 移除

    UISearchBarBarBackground 是一个 UIImageView对象 覆盖在  backgroundColor 上面 

    所以直接设置背景颜色 是无效的

    移除UISearchBarBarBackground 对象代码:

        for(inti =  0;i <_searchBar.subviews.count;i++){

            UIView* backView =_searchBar.subviews[i];

            if([backViewisKindOfClass:NSClassFromString(@"UISearchBarBackground")] ==YES) {

                [backViewremoveFromSuperview];

                [_searchBar setBackgroundColor:[UIColor clearColor]];

                break;

            }else{

                NSArray* arr =_searchBar.subviews[i].subviews;

                for(intj =0;j

                    UIView* barView = arr[i];

                    if([barViewisKindOfClass:NSClassFromString(@"UISearchBarBackground")] ==YES) {

                        [barViewremoveFromSuperview];

                        [_searchBar setBackgroundColor:[UIColor clearColor]];

                        break;

                    }

                }

            }

        }

    移除之后 再进行   [_searchBar setBackgroundColor:[UIColor clearColor]]; 处理 即可 有效

    相关文章

      网友评论

        本文标题:IOS 中 对 UISearchBar 设置背景颜色

        本文链接:https://www.haomeiwen.com/subject/cegwzftx.html