美文网首页
[iOS]实现UIView的背景渐变

[iOS]实现UIView的背景渐变

作者: 程序猿小武 | 来源:发表于2017-08-01 14:43 被阅读169次

我们经常需要把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 这里面也有用,暂时保...

网友评论

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

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