iOS上更强的阴影效果

3
我正在尝试使用一些发光效果来为一个按钮添加动画效果。
目前,我已经得到了以下的代码:
self.glowLayer = [[CALayer alloc] init];
self.glowLayer.contents = (__bridge id _Nullable)(self.currentBackgroundImage.CGImage);
self.glowLayer.opacity = 0; // set to 1 with animation.
self.glowLayer.shadowColor = [UIColor vtoPinkColor].CGColor;
self.glowLayer.shadowOffset = CGSizeZero;
self.glowLayer.shadowRadius = 5;
self.glowLayer.shadowOpacity = 1;
self.glowLayer.rasterizationScale = [UIScreen mainScreen].scale;
self.glowLayer.shouldRasterize = YES;
[self.layer addSublayer:self.glowLayer];

然而,我发现发光效果不够强。当然,我可以改变阴影半径使其更宽,但这只会使阴影“稀释”而不是变得更强。

enter image description here

我该怎么做?

1
[UIColor vtoPinkColor]是什么?它已经部分透明了吗?您的内容图像在心形内部是否部分透明?尝试使用完全不透明的阴影颜色和阴影投射部分也完全不透明的图像。 - undefined
还可以尝试一下“更暗”的阴影颜色(具有相同的色调但降低了亮度)。 - undefined
不,这种颜色没有透明度(与心形图案相同)。 - undefined
1个回答

0

改变 self.glowLayer.shadowOpacity 的值为 1 对你有用。还可以尝试设置 Translucent = No。


不,这样行不通。 根据文档,“此属性的值必须在0.0(透明)到1.0(不透明)的范围内。此属性的默认值为0.0。” - undefined
shadowOpacity的取值范围是从0到1。 - undefined
设置self.glowLayer.translucent = NO; - undefined
抱歉,我犯了个错误:不过透明度是在后面设置为1的。CALayer并没有半透明属性。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接