设置UISearchController的UISearchBar背景色颜色渐变

首先要实现颜色渐变我们可以使用CAGradientLayer

CAGradientLayer *gLayer = [CAGradientLayer layer];
    gLayer.colors = @[(__bridge id)UIColorFromRGB(0x00bcd4).CGColor,(__bridge id)UIColorFromRGB(0x00cc99).CGColor];
    gLayer.startPoint = CGPointMake(0, 0.5);
    gLayer.endPoint = CGPointMake(1, 0.5);
    gLayer.frame = CGRectMake(0, -20, SCREEN_WIDTH, 64);

获得到UISearchBar上的一个UIView,并加上gLayer

Snip20170516_3.png
[_searchVC.searchBar.subviews.firstObject.layer insertSublayer:gLayer atIndex:0];

显示依然不能显示出渐变颜色,查看UISearchBar内的图层可以看到有一个UIImageView,我们需要将这个UIImageView删除掉才能看到渐变色

    for (UIView *sview in _searchVC.searchBar.subviews.firstObject.subviews) {
        if ([sview isKindOfClass:[UIImageView class]]) {
            [sview removeFromSuperview];
        }
    }

ok,现在渐变色就显示出来了

Snip20170516_4.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容