我們經常需要把UIView的背景色設置為漸變色,雖然找一張漸變的背景圖很方便,但是圖片是要占用資源的,所以我們最好使用代碼來實現效果。
我們使用的是CAGradientLayer來實現這個效果。
上代碼
//實現背景漸變
//初始化我們需要改變背景色的UIView,并添加在視圖上
self.theView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 200)];
[self.view addSubview:self.theView];
//初始化CAGradientlayer對象,使它的大小為UIView的大小
self.gradientLayer = [CAGradientLayer layer];
self.gradientLayer.frame = self.theView.bounds;
//將CAGradientlayer對象添加在我們要設置背景色的視圖的layer層
[self.theView.layer addSublayer:self.gradientLayer];
//設置漸變區域的起始和終止位置(范圍為0-1)
self.gradientLayer.startPoint = CGPointMake(0, 0);
self.gradientLayer.endPoint = CGPointMake(0, 1);
//設置顏色數組
self.gradientLayer.colors = @[(__bridge id)[UIColor blueColor].CGColor,
(__bridge id)[UIColor redColor].CGColor];
//設置顏色分割點(范圍:0-1)
self.gradientLayer.locations = @[@(0.5f), @(1.0f)];
注意
- 漸變區域的范圍是 (0,0) -> (1,1)
- 漸變層要添加在需要漸變視圖的layer層