美文网首页
[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的背景渐变

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