gpt4 book ai didi

ios - CAGradientLayer 不能改变颜色

转载 作者:行者123 更新时间:2023-11-28 21:33:45 29 4
gpt4 key购买 nike

我想要一个彩色渐变来覆盖我的 View 。在 View Controller 中,我有这段代码

- (void)viewDidLoad {
self.view.backgroundColor = [UIColor whiteColor];

CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = self.view.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:(id)[UIColor redColor].CGColor, (id)[UIColor clearColor].CGColor, nil];
gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(0, 1.0f);
self.view.layer.mask = gradientLayer;
}

但即使第一种颜色是红色,我也只看到黑色渐变。如何改为显示红色渐变?

最佳答案

TLDR:不是将渐变设置为图层蒙版,而是将渐变图层添加为 view.layer 的子图层。

图层使用图层蒙版蒙版通过在每个像素处使用蒙版的 alpha 来确定其自身内容的 alpha,因为您的 gradientLayer 是完全不透明的,所以您得到的效果不是您所希望的那个。

图层类似于 View ( View 实际上是图层的包装器),您可以将它们添加为子图层,方式与将 View 添加为 subview 的方式类似。

关于ios - CAGradientLayer 不能改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34750523/

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