gpt4 book ai didi

ios - 清除带有渐变标题和 cornerBorder 的 UIButton

转载 作者:行者123 更新时间:2023-11-28 18:04:39 24 4
gpt4 key购买 nike

如何给UIButton标题添加渐变,按钮背景清晰,边角也是渐变

我找到了如何添加渐变边框 here但不知道如何制作渐变标签。如果标签渐变与边框渐变颜色匹配,那就太好了。

也许我可以用形状像标签的面具以某种方式创造这种效果?

最佳答案

您好,最简单的方法是从 patternImage 创建一个 UIColor,如下所示:

let image = UIImage(named: "gradient.jpeg");
let color = UIColor(patternImage: image!);

然后在需要的地方使用颜色:

buttonAction.layer.borderWidth = 1;
buttonAction.layer.cornerRadius = 5;
buttonAction.layer.borderColor = color.cgColor;

buttonAction.setTitleColor(color, for: .normal);

结果: enter image description here

要创建渐变 UIColor,请使用此方法:(您可以将其添加到 UIColor 扩展)

func gradientColorFrom(color color1:UIColor, toColor color2:UIColor ,withSize size:CGSize) ->UIColor
{
UIGraphicsBeginImageContextWithOptions(size, false, 0);
let context = UIGraphicsGetCurrentContext();
let colorspace = CGColorSpaceCreateDeviceRGB();

let colors = [color1.cgColor, color2.cgColor] as CFArray;

let gradient = CGGradient(colorsSpace: colorspace, colors: colors, locations: nil);
context!.drawLinearGradient(gradient!, start: CGPoint(x:0, y:0), end: CGPoint(x:size.width, y:0), options: CGGradientDrawingOptions(rawValue: UInt32(0)));

let image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

let finalCColor = UIColor(patternImage: image!);
return finalCColor;

}
  • 水平渐变使用CGPoint(x:size.width, y:0)
  • 垂直渐变使用 CGPoint(x:0, y:size.height)

关于ios - 清除带有渐变标题和 cornerBorder 的 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40638440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com