[iOS]实现UIView的背景渐变

作者: PlutoMa | 来源:发表于2016-01-21 16:46 被阅读13691次

我们经常需要把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层

相关文章

  • [iOS]实现UIView的背景渐变

    我们经常需要把UIView的背景色设置为渐变色,虽然找一张渐变的背景图很方便,但是图片是要占用资源的,所以我们最好...

  • [iOS]实现UIView的背景渐变

    我们经常需要把UIView的背景色设置为渐变色,虽然找一张渐变的背景图很方便,但是图片是要占用资源的,所以我们最好...

  • (IOS)UIView背景颜色渐变

    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0...

  • iOS通过Category实现UIView渐变的背景颜色

    项目中有很多View和Button需要设置渐变的背景颜色,所以写了一个Category来方便调用。 调用方式,im...

  • UIView渐变背景

    项目需要,需要在图片上显示文字,但是文字的颜色很难控制,有时候与背景图的颜色很接近导致文字难以看清楚,可以通过将图...

  • 2019-10-25

    iOS 渐变色 实现渐变色的几种方式: 使用场景:背景渐变 1. 通过CAGradientLayer实现 使用场景...

  • iOS实现智能背景,渐变背景

    前言 实现:根据一张输入的图片,获取图片上的所有像素分析,并计算出一个颜色数组。具体步骤有:输入图片→图片转换→颜...

  • UIView背景渐变色

    1.在UIViewController.h中声明一个属性。 2..在UIViewController.m中设置背景渐变

  • UIView的背景渐变色~~~

    把UIView的背景色设置为渐变色,虽然找一张渐变的背景图很方便,但是图片是要占用资源的,所以我们最好使用代码来实...

  • iOS 实现背景颜色渐变的方式

    1.通过CAGradientLayer 设置渐变的背景。 方法2.CGGradientRef 这里面也有用,暂时保...

网友评论

  • 信徒_lh:view上面的空间被挡在了下面,用[self.layer insertSublayer:gradientLayer atIndex:0]; 【self.view sendSubviewToBack:】都不行 。
    a24e29cf1886:[self.layer insertSublayer:gradientLayer below:某个控件.layer];
  • feng_dev:如何实现一张毛玻璃效果的图片,而且从圆心到 圆周 是渐变色,不是单色。。。
  • fuccccck_iOS:可以是可以。但是view上面的控件在手机上面看不见啦。但是看了层级视图 ,这些控件是有的 怎么处理啊
    信徒_lh:@赤那斯 好吧。谢谢啦。
    fuccccck_iOS:@信徒_lh 好久以前 我也不记得啦 我后来直接找UI用图片处理啦。
    信徒_lh:这个问题您是怎么处理的呢。我也遇到了 。
  • 115ccb264d5e:完美的学习了一把 刚好用到
  • Chars:锚点(anchorPoint)变成了右下角
  • AKinCoder:如果,view从模糊渐变到清晰呢?该怎么实现?时间可以控制吗?

本文标题:[iOS]实现UIView的背景渐变

本文链接:https://www.haomeiwen.com/subject/dqilkttx.html