實現文字漸變色的方法網上有很多,但是很多初學小伙伴對代碼的理解存在著問題(一開始我也是一樣),所以我利用本人一點淺顯的理解為剛入門的小伙伴做一下解答.
_lable = [[UILabel alloc] init];
// _lable.frame = CGRectMake(100, 200, 300, 20);
_lable.text = @"這樣寫可能會更好理解一點";
// [self.view addSubview:_lable];
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.colors = @[(id)[UIColor redColor].CGColor, (id)[UIColor greenColor].CGColor, (id)[UIColor blueColor].CGColor];
//gradientLayer.locations = @[@0, @0.5, @1];// 默認就是均勻分布
gradientLayer.startPoint = CGPointMake(0.5, 0);
gradientLayer.endPoint = CGPointMake(0.5, 1);
gradientLayer.frame = CGRectMake(100, 200, 300, 20);
_lable.frame = gradientLayer.bounds;//設置_lable的坐標
// _lable.layer.frame = gradientLayer.bounds;//和上面的代碼一個效果
gradientLayer.mask = _lable.layer;//可以理解為([gradientLayer addSubview:_lable])
[self.view.layer addSublayer:gradientLayer];