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"]]

 

相关文章