按钮设置渐变和文字颜色
// 按钮设置渐变和文字颜色
+ (id)dc_setGradientLayerColors:(UIButton *)btn AndSetStartColor:(UIColor *)startColor SetEndColor:(UIColor *)endColor setTitleColor:(UIColor *)titleColor forState:(UIControlState)state
{
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
[gradientLayer setColors:@[(id)[startColor CGColor], (id)[endColor CGColor]]];
gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(1, 0);
gradientLayer.locations = @[@(0), @(1.0)];
gradientLayer.frame = CGRectMake(0, 0, btn.size.width, btn.size.height);
// 注意,这边不能用addSublayer的方法,不然会覆盖掉文字和图片
[btn.layer insertSublayer:gradientLayer atIndex:0];
// 用insertSublayer还是会覆盖图片,可以将图片图层强制提到最上方的方法解决
/*
[_adoptAnswerTagBtn setImage:[UIImage imageNamed:@"ef_fundbar_answeradopt_white"] forState:UIControlStateNormal];
[_adoptAnswerTagBtn setTitle:@"采纳" forState:UIControlStateNormal];
[_adoptAnswerTagBtn bringSubviewToFront:_adoptAnswerTagBtn.imageView];
*/
[btn setTitleColor:titleColor forState:state];
return btn;
}
看完如果觉得不错,
![](https://img.haomeiwen.com/i17278450/83681717d48f7532.png)
网友评论