OC_文字颜色渐变

  • 开始喽

CAGradientLayer * gradientLayer = [CAGradientLayer layer];

  • 设置图层的颜色数组

gradientLayer.colors =@[(__bridge id)[UIColor yellowColor].CGColor,(__bridge id)[UIColor redColor].CGColor];

  • locations 属性是一个浮点数值的数组(以NSNumber包装),这些浮点数定义了colors属性中每个不同颜色的位置 0.0代表渐变开始,1.0代变结束
  • 一定要确保locations的数组大小和colors数组大小相同

gradientLayer.locations =@[@0.0,@1.0];

  • CAGradientLayer startPoint和 endPoint属性他们决定了渐变的方向,这两个参数是以单位坐标系进行的定义,所以左上角的左边是{0,0}右下角坐标是{1,1}

gradientLayer.startPoint =CGPointMake(0,0);
gradientLayer.endPoint =CGPointMake(1,1);

  • 图层的透明度

gradientLayer.opacity = 0.5;

  • 设置控件

UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(100,300, 100, 30)];
label.text =@"颜色渐变";
[self.view addSubview:label];

  • 设置frame

gradientLayer.frame = label.frame;
[self.view.layer addSublayer:gradientLayer];

  • 将gradientLayer的mask属性设置为label.layer

gradientLayer.mask = label.layer;

  • 重新设置frame相当于设置gradientLayer的mask的frame与本身的frame相等
  • gradientLayer.mask.frame = gradientLayer.bounds; 与这个意思一样 label.layer.frame = gradientLayer.bounds;

label.layer.frame = gradientLayer.bounds

你可能感兴趣的:(OC_文字颜色渐变)