2012-10-26 82 views
2

我正在做很多程序化界面自定義,比如漸變和邊框,並且對如何修改顏色(給定HSV或RGB值)以產生色調和陰影(請參閱示例)感興趣。我知道色彩是一種顏色+白色,而陰影是一種顏色+黑色。iPhone iOS如何以編程方式創建色調和陰影?

是否有一些算法可用於採用默認的iOS顏色,如藍色,並以編程方式創建該顏色的幾種色調和陰影?

謝謝!

Tints and shades

Creating tints and shades

+0

不認爲有什麼「內置的」...你將不得不嘗試找到一些C的HSV算法並使用它們。 – nielsbot

回答

-2

可以使用。

[UIColor colorWithRed:29.0/255.0 green:42.0/255.0 blue:74.0/255.0 alpha:1.0]; 

例如,如果非要給導航欄的色調顏色比

self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:29.0/255.0 green:42.0/255.0 blue:74.0/255.0 alpha:1.0]; 
+0

我想你誤解了這個問題。他正在尋找一種算法來從單一顏色創建不同的陰影。 – sosborn

+0

是的,我試圖避免硬編碼任何東西,而是想在我的界面中使用諸如「20%陰影的藍色」或「10%的紅色」之類的顏色。 –

3

對不起,我不是在我的電腦,所以我可以的算法就不寫出來了,但是這是你所需要的方法:

+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha 

你選擇你的起始色相和飽和度(飽和度大概應該是在1.0,但做什麼是適合您的情況),然後你在一個循環遞增明亮值來獲得新的陰影。可能最好有一個數組,您可以將顏色放入,然後您可以返回該數組並根據需要使用它。

+0

通過減少亮度可以得到陰影。內置顏色從1.0(最大)的亮度開始。添加白色以創建色彩似乎更復雜 –