廣告贊助

UIColor 是用來設定 iOS 中設定顏色的,它是一個 Objective-C class 類別,所以要用 method 產生。常用於設定UIView 類的背景,文字顏色等。
 

UIColor 可以用很多種方式產生,這兒介紹幾個常用的方法。最簡單的一種是內建的已知色。iOS 提供了一些最常用的十幾種顏色的 class method,可以直接產生。例如如果要指定為紅色,就可以這樣寫:


    UIColor *theColor=[UIColor redColor];


要注意的是這些都是 class method 所以不用先 alloc 產生位置,直接對 class 下 method 就可以了。目前 iOS 提供的方法有:

+ blackColor
+ darkGrayColor
+ lightGrayColor
+ whiteColor
+ grayColor
+ redColor
+ greenColor
+ blueColor
+ cyanColor
+ yellowColor
+ magentaColor
+ orangeColor
+ purpleColor
+ brownColor
+ clearColor


等,其中一個方法比較特別,就是 +clearColor 它是指透明色,也就是它可以存在,但完全看不見,通常用來做一個容器的背景,或隱藏的按鈕。


除此之外,系統也提供了一些類似的方法,產生 iOS 標準色,使用的方式和前面是完全一樣的,包括:


+ lightTextColor 
+ darkTextColor
+ groupTableViewBackgroundColor
+ viewFlipsideBackgroundColor
+ scrollViewTexturedBackgroundColor
+ underPageBackgroundColor 


其實這些顏色就是我們在很多基本 iOS APP 看到的標準色,你可用這產顏色來讓你的 APP 與標準色有一致性。


另一種常用的產生方法是用 RGBA,RGB 就是所謂的三原色,你可以用它來合成你想要的顏色,而 A 是指 alpha 也就是透明度。而可用這種方式產生的 method包括


- (UIColor *)initWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha


+(UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha


上者為 object method 下面為 class 但用法是完全一樣的。
這四個數字都是0~1的浮點數,1表示最大或完全不透明。例如純紅色,不透明,可以寫成


   UIColor *theColor=[UIColor
                               colorWithRed:1.0
                               green:0.0
                               blue:0.0
                               alpha:1.0];


就可以產生純紅色。如果要產生半透明的藍色,就可以寫成: 
 

    UIColor *theColor=[UIColor
                               colorWithRed:0.0
                               green:0.0
                               blue:1.0
                               alpha:0.5];


最一種也是很常用方法為 + colorWithPatternImage:,也就是利用材質圖片當作顏色,並事先把它拉到XCode 專案中。我們就可以用該圖片作為一種顏色,如我們先準備一個背景圖,叫 background.png,並把它拉進專案後,就可以這樣寫:

   UIColor *theColor=[UIColor colorWithPatternImage:
               [UIImage imageNamed:@"background.png"]]

 

文章標籤
創作者介紹

X Code Objective-C Swift 學習記錄 for iOS & macOS (OS X)

shenfive 發表在 痞客邦 PIXNET 留言(0) 人氣()