0

试图改变阴影的颜色。这有效:

self.layer.shadowColor = [[UIColor blueColor] CGColor];

在此处输入图像描述

但我想让它成为自定义颜色,所以我尝试了:

self.layer.shadowColor = [[UIColor colorWithRed:191/255.0f green:199/255.0f blue:203/255.0f alpha:1] CGColor];

在此处输入图像描述

这是行不通的。

我究竟做错了什么?

编辑:

我的 init 方法中的代码片段:

self.layer.shadowOpacity = 0;
self.layer.shadowColor = [[UIColor blueColor] CGColor];
//self.layer.shadowColor = [[UIColor colorWithRed:191/255.0f green:199/255.0f blue:203/255.0f alpha:1] CGColor];
self.layer.shadowOffset = CGSizeMake(0,0);
self.layer.shadowRadius = 4;

编辑2:

奇怪的是,我扩展了 UIColor 以包含一些我的自定义颜色;如果我使用:

self.layer.shadowColor = [[UIColor pointColorBlue] CGColor];

来自我的 UIColor+myColor:

+(UIColor *) pointColorBlue
{
    return [UIColor colorWithRed:50/255.0f green:50/255.0f blue:255/255.0f alpha:1];
}

它工作正常。

4

2 回答 2

1

呸! 想通了:图形专家给了我几乎与背景颜色相同的 RGB 值!

于 2012-09-11T15:27:16.487 回答
0

那些应该工作。

但是您必须执行以下操作:

CALayer newLayer = [CALayer layer];
newLayer.shadowColor = [[UIColor blueColor] CGColor];

self.layer = newLayer;
[self.layer setWantsLayer:YES];

重置主层很重要,否则它不会被绘制。

于 2012-09-10T21:45:46.140 回答