2012-09-10 32 views
0

嘗試更改陰影的顏色。這工作:與layer.shadowColor和UIColors相關的問題

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

不工作。

我在做什麼錯?

編輯:

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:從我init方法

代碼段

奇數部分是,我擴展的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

你是什麼意思的「不起作用」? –

+1

適用於我 - 該視圖上的「shadowOpacity」和「shadowOffset」的價值是什麼?它顯示什麼顏色? (您指定的顏色相當淺。) – Tim

+0

問題已更新。當我嘗試RGB值時,我沒有得到任何影子。 – Padin215

回答

1

Bah!想通了:圖形傢伙給了我一個與背景色幾乎相同的RGB值!

0

那些應該工作。

但你必須做以下幾點:

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

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

重置主層是非常重要的,導致otherways它不會繪製。

+0

self.layer是隻讀屬性,無法爲其分配圖層。 – Padin215