使用CAGradientLayer设置view渐变背景色效果遮挡子控件

使用CAGradientLayer设置view渐变背景色效果遮挡子控件的问题处理

 

最近在做项目时使用CAGradientLayer设置view的渐变色背景效果后,发现view上的子视图被遮挡如下代码,

 

// gradient
    CAGradientLayer *gl = [CAGradientLayer layer];
    gl.frame = CGRectMake(0.f,0.f,SCREEN_WIDT - 28.f,107.f);
    //gl.frame = self.baseInfoBg_view.frame;
    gl.startPoint = CGPointMake(0.f, .5f);
    gl.endPoint = CGPointMake(1.f, .5f);
    gl.colors = @[(__bridge id)UIColorWithHex(@"#5FA5E7").CGColor, (__bridge id)UIColorWithHex(@"#316CCA").CGColor];
    gl.locations = @[@(0), @(1.0f)];
    [self.baseInfoBg_view.layer addSublayer:gl];
   

 

 

效果
                                   

是因为设置的view layer遮挡了子控件只需要将 

[self.baseInfoBg_view.layer addSublayer:gl]; 修改成 [self.baseInfoBg_view.layer insertSublayer:gl atIndex:0];就可以解决
效果如下

 

 

 

posted @ 2019-02-27 14:17  #零下一度&  阅读(1011)  评论(0编辑  收藏  举报