2013-10-19 50 views
0

我是一名初學者,目前正在嘗試爲特定的自定義顏色製作一種方法。我將用它來改變某些按鈕的背景顏色。如何創建特定顏色的方法放入我的代碼中?

我想讓它可以簡單地輸入myButton.backgroundColor = [UIColor customColor];而不必輸入myButton.backgroundColor = [UIColor colorWithRed:0.643 green:0.643 blue:0.643 alpha:1];

+0

參見[我應該在哪裏存儲30 + UIColors快速參考?](http://stackoverflow.com/questions/18038953/where-should-i-store-30-uicolors-for-quick-reference)。 –

+1

作爲一個側面節點,你應該總是在方法名前加一個自定義前綴,比如'palette_customRed',當向系統類中添加方法時,重複問題的接受答案是不會做的。 –

回答

0

你需要編寫類類的UIColor類似

中的UIColor + Custom.h:

定義顏色枚舉像

typedef enum color {RED=0,GREEN, PURPLE, YELLOW} color; //define more enums for other custom color 


@interface UIColor (Custom) 

+ (UIColor *)customColor:(color)color; 


@end 



@implementation UIColor (Custom) 

+ (UIColor *)customColor:(color)color 
{ 
    static UIColor color = nil; 
    switch (color) { 
    case RED: 
     color = [UIColor reColor]; 
     break; 
    case YELLOW: 
     color = [UIColor colorWithRed:0.643 green:0.643 blue:0.643 alpha:1]; //just a example not right rgb for yellow 
     break; 
    //Similarly write for other color's  
    default: 
     break; 


return color; 

}

相關問題