ios – 如何为CAGradientLayer提供“位置”

ios – 如何为CAGradientLayer提供“位置”,第1张

概述我创建了CAGradientLayer有三种颜色,我需要给每种颜色不同的位置. 例: Red = 0 to 50 %Yellow = 51 to 80 %Green = 81 to 100 % 我尝试过给startPoint和endPoint,但它没有工作. 如果您将以下代码放入Playground,您将获得所需的确切输出: let view = UIView(frame: CGRectMak 我创建了CAGradIEntLayer有三种颜色,我需要给每种颜色不同的位置.
例:
Red = 0 to 50 %Yellow = 51 to 80 %Green = 81 to 100 %

我尝试过给startPoint和endPoint,但它没有工作.

解决方法 如果您将以下代码放入Playground,您将获得所需的确切输出:
let vIEw = UIVIEw(frame: CGRectMake(0,200,100))let layer = CAGradIEntLayer()layer.frame = vIEw.framelayer.colors = [UIcolor.greencolor().CGcolor,UIcolor.yellowcolor().CGcolor,UIcolor.redcolor().CGcolor]layer.locations = [0.0,0.8,1.0]vIEw.layer.addSublayer(layer)XcpshowVIEw("IDent",vIEw: vIEw)

输出:

您只需将颜色定义为CGcolors数组,并将相同大小的NSNumber定义为0.0到1.0之间.

不要使用startPoint和endPoint – 它们用于定义层中显示渐变的位置 – 它与百分比和颜色等没有任何关系.

更新的Swift3版本代码:

let vIEw = UIVIEw(frame: CGRect(x: 0,y: 0,wIDth: 200,height: 100))let layer = CAGradIEntLayer()layer.frame = vIEw.framelayer.colors = [UIcolor.green.cgcolor,UIcolor.yellow.cgcolor,UIcolor.red.cgcolor]layer.locations = [0.0,1.0]vIEw.layer.addSublayer(layer)PlaygroundPage.current.liveVIEw = vIEw
总结

以上是内存溢出为你收集整理的ios – 如何为CAGradientLayer提供“位置”全部内容,希望文章能够帮你解决ios – 如何为CAGradientLayer提供“位置”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1106655.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存