美文网首页iOS接下来要研究的知识点
iOS通过Category实现UIView渐变的背景颜色

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

作者: 德坤柳 | 来源:发表于2018-07-12 15:21 被阅读0次

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

- (void)setGradientBackgroundColor
{
    //创建一个渐变的图层
    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.colors = @[(__bridge id)[UIColor redColor].CGColor, (__bridge id)[UIColor blueColor].CGColor];
    gradientLayer.locations = @[@0, @1.0];
    gradientLayer.startPoint = CGPointMake(0, 0);
    gradientLayer.endPoint = CGPointMake(1.0, 0);
    gradientLayer.frame = self.bounds;
    gradientLayer.name = @"gradientLayer";
    
    //生成一个image
    UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.opaque, 0.0);
    [gradientLayer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    //设置背景颜色
    self.backgroundColor = [UIColor colorWithPatternImage:img];
}

调用方式,import这个category,在需要设置背景颜色的时候调用就可以了

#import "UIView+Gradient.h"
@interface ViewController ()
@property (nonatomic, strong)UIView *tempView;
@property (nonatomic, strong)UIView *childView;
@end

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];

    _tempView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
    [self.view addSubview:_tempView];
    
    _childView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
    _childView.backgroundColor = [UIColor whiteColor];
    [_tempView addSubview:_childView];
    
    [_tempView setGradientBackgroundColor];
}
@end

效果图


渐变效果图.png

参考链接
ios实现颜色渐变的几种方法

相关文章

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

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

  • (IOS)UIView背景颜色渐变

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

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

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

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

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

  • 2019-10-25

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

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

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

  • 背景颜色渐变

    思路 通过几个Plane颜色变化,实现背景色叠加渐变: Plane需要设置半透明 颜色值均随机(R、G、B) 颜色...

  • UIView渐变背景

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

  • 为控件设置渐变色

    //为颜色设置渐变效果 UIView *view = [[UIView alloc] initWithFrame:...

  • ios UIView实现颜色渐变的几种方法

    最近要写一个渐变UIview,所以总结下渐变的方法,下面的是我程序里用的 在简书上有看到小超飞鱼的一篇总结,觉得写...

网友评论

    本文标题:iOS通过Category实现UIView渐变的背景颜色

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