1、建立ViewBasedApplication
2、添加一個新的objective-c class,並設定為UIView的子類,可以命名為MyView
3、重寫MyView的方法
- (void)drawRect:(CGRect)rect
這個方法是在MyView裡定義的,重寫這個方法可以顯示自己重繪的內容
在方法內,添加以下代碼,實現漸層顏色
CGContextRef context = UIGraphicsGetCurrentContext();
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
CGFloat colors[] =
{
204.0 / 255.0, 224.0 / 255.0, 244.0 / 255.0, 1.00,
29.0 / 255.0, 156.0 / 255.0, 215.0 / 255.0, 1.00,
0.0 / 255.0, 50.0 / 255.0, 126.0 / 255.0, 1.00,
};
CGGradientRef gradient = CGGradientCreateWithColorComponents
(rgb, colors, NULL, sizeof(colors)/(sizeof(colors[0])*4));
CGColorSpaceRelease(rgb);
CGContextDrawLinearGradient(context, gradient,CGPointMake
(0.0,0.0) ,CGPointMake(0.0,self.frame.size.height),
kCGGradientDrawsBeforeStartLocation);
以下代碼可以在視圖螢幕上畫出一個字元
UIColor *magentaColor =
[UIColor colorWithRed:0.5f
green:0.0f
blue:0.5f
alpha:1.0f];
/* Set the color in the graphical context */
[magentaColor set];
/* Load the font */
UIFont *helveticaBold =
[UIFont fontWithName:@"HelveticaNeue-Bold"
size:30.0f];
/* Our string to be drawn */
NSString *myString = @"Angry bird";
/* Draw the string using the font. The color has
already been set */
[myString drawAtPoint:CGPointMake(25, 190)
withFont:helveticaBold];
然後在螢幕上畫出一條斜線
CGContextRef ref=UIGraphicsGetCurrentContext();//拿到當前被準備好的畫板。在這個畫板上畫就是在當前視圖上畫
CGContextBeginPath(ref);//這裡提到一個很重要的概念叫路徑(path),其實就是告訴畫板環境,我們要開始畫了,你記下。
CGContextMoveToPoint(ref, 0, 0);//畫線需要我解釋嗎?不用了吧?就是兩點確定一條直線了。
CGContextAddLineToPoint(ref, 300,300);
CGFloat redColor[4]={1.0,0,0,1.0};
CGContextSetStrokeColor(ref, redColor);//設定了一下當前那個畫筆的顏色。畫筆啊!你記著我前面說的windows畫圖板嗎?
CGContextStrokePath(ref);//告訴畫板,對我移動的路徑用畫筆畫一下。
在ViewController裡重寫方法(我這裡叫game01ViewController,裡建立項目時自動產生的,繼承於UIViewController)
@interface game01ViewController : UIViewController {
- (void) loadView {
MyView *view = [[MyView alloc] init];
self.view = view;
}
執行個體化MyView,然後將控制器的view屬性設為MyView的對象view,這樣就可以了