有关layer.shadowColor和UIColors的问题

时间:2012-09-10 20:22:01

标签: objective-c ios core-graphics

尝试更改阴影的颜色。这有效:

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

enter image description here

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

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

enter image description here

哪个不起作用。

我做错了什么?

编辑:

我的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];
}

它工作正常。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

那些应该有用。

但你必须做以下事情:

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

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

重置主图层很重要,因为它不会被绘制。