使用CAGradientLayer設置view漸變背景色效果遮擋子控件的問題處理spa
最近在作項目時使用CAGradientLayer設置view的漸變色背景效果後,發現view上的子視圖被遮擋以下代碼,blog
// 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];
效果 it
是由於設置的view layer遮擋了子控件只須要將 io
[self.baseInfoBg_view.layer addSublayer:gl]; 修改爲 [self.baseInfoBg_view.layer insertSublayer:gl atIndex:0];就能夠解決
效果以下class