[iOS]實現UIView的背景漸變

我們經常需要把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層
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 我們經常需要把UIView的背景色設置為漸變色,雖然找一張漸變的背景圖很方便,但是圖片是要占用資源的,所以我們最好...
    程序猿小武閱讀 626評論 0 0
  • 轉載:http://www.lxweimin.com/p/32fcadd12108 每個UIView有一個伙伴稱為l...
    F麥子閱讀 6,288評論 0 13
  • 每個UIView有一個伙伴稱為layer,一個CALayer。UIView實際上并沒有把自己畫到屏幕上;它繪制本身...
    shenzhenboy閱讀 3,136評論 0 17
  • 幼兒園排練六一節目,晚上回來,天天很認真的練習。可能是協調力差,有個動作做的很不好。 昨晚回來,他很著急,于是吃過...
    素衣煙霞閱讀 187評論 0 1
  • 一遇見你,真好 “多幸運,在最美的年紀遇見了你。” 我是相信緣份這東西的,從相識到相知,是心與心交流,而從相知到相...
    十二樓中閱讀 411評論 3 1