UIColor这个类提供了许多不同的方法,可以很轻松地调出任何颜色。你可以用静态方法来创建 颜色,这样它们会在停止使用后被释放。可以用灰度值、色相或者RGB复合值等多种形式来创建颜色。要创建一个简单的RGB色彩,可以指定一组4个浮点值, 分别对应红、绿、蓝和alpha值(透明度),取值均在0.0~1.0之间。这些值表示了0%
(0.0)~100%(1.0)的范围:
- UIColor *myWhiteTransparentColor = [ UIColor
- colorWithWhite: 1.0 alpha: 0.50 ];
- UIColor *myColorHue = [ UIColor colorWithHue: 120.0 / 360.0
- saturation: 0.75
- brightness: 0.50
- alpha: 1.0
- ];
- UIColor *myColorRGB = [ UIColor colorWithRed: 0.75
- green: 1.0
- blue: 0.75
- alpha: 1.0
- ];
-
UIColor *imageColor = [UIColor colorWithPatternImage:image]; // 根据图片生成颜色
-
5 [[UIColor blackColor] setStroke]; // 设置边框颜色
6 [[UIColor blueColor] setFill]; // 设置填充色
7 [[UIColor greenColor] set]; // 设置绘图背景色
如果你打算重用许多不同的UIColor对象,你也可以创建它们的实例:
- UIColor *myWhiteTransparentColor = [ [ UIColor alloc ]
- initWithWhite: 1.0 alpha: 0.50
- ];
- UIColor *myColorHue = [ [ UIColor alloc ]
- initWithHue: 120.0 / 360.0
- saturation: 0.75
- brightness: 0.50
- alpha: 1.0
- ];
- UIColor *myColorRGB = [ [ UIColor alloc ] initWithRed: 0.75
- green: 1.0
- blue: 0.75
- alpha: 1.0
- ];
UIColor类还支持许多静态方法,可以创建系统颜色,这些颜色都经过iPhone的校正,以达到尽可能准确的地步。这些方法如下所示,均来自UIColor.h:
- + (UIColor *)blackColor; // 0.0 白色
- + (UIColor *)darkGrayColor; // 0.333 白色
- + (UIColor *)lightGrayColor; // 0.667 白色
- + (UIColor *)whiteColor; // 1.0 白色
- + (UIColor *)grayColor; // 0.5 白色
- + (UIColor *)redColor; // 1.0, 0.0, 0.0 RGB
- + (UIColor *)greenColor; // 0.0, 1.0, 0.0 RGB
- + (UIColor *)blueColor; // 0.0, 0.0, 1.0 RGB
- + (UIColor *)cyanColor; // 0.0, 1.0, 1.0 RGB
- + (UIColor *)yellowColor; // 1.0, 1.0, 0.0 RGB
- + (UIColor *)magentaColor; // 1.0, 0.0, 1.0 RGB
- + (UIColor *)orangeColor; // 1.0, 0.5, 0.0 RGB
- + (UIColor *)purpleColor; // 0.5, 0.0, 0.5 RGB
- + (UIColor *)brownColor; // 0.6, 0.4, 0.2 RGB
- + (UIColor *)clearColor; // 0.0 白色, 0.0 alpha
创建好UIColor对象之后,就可以将其赋给文本视图的色彩属性了:
- textView.textColor = myColorHue;
//十六进制转RGB
#define YSUIColorFromRGB(rgbValue) \
[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 \
alpha:1.0]
使用方法:YSUIColorFromRGB(0xFFFFFF);