您当前的位置: 首页 >  ar

iOS修改UISearchBar背景颜色

发布时间:2018-07-02 15:06:15 ,浏览量:0

貌似很简单的事啊,直接用:

searchBar.backgroundColor = .red

不就OK了???

其实,不可以!!!

因为实际上UISearchBar的层次关系是这样的:

这里写图片描述

这里写图片描述

如果按照上面那样设置的将是UISearchBar自身的背景色,但是因为它上面还覆盖了UIView和UISearchBarBarBackground两个视图,所以你基本看不到效果(因为它们有略微透明,所以可以隐约看到一丢丢效果…)

所以正确的做法是想办法将UISearchBarBarBackground去掉,它是一个UIImageView对象:

///设置搜索条背景颜色 func setSearchBarBackgroundColor(to color:UIColor){
    guard searchBar != nil else {return} if let subView = searchBar.subviews.first{ if let view = subView.subviews.first,let imgView = view as? UIImageView{
            imgView.alpha = 0.0 searchBar.backgroundColor = color
        }
    }
}
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107766博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0760s