UIView的drawRect方法
自定义一个UIView类,代码如下:
MainView.h
#import <UIKit/UIKit.h> @interface MainView : UIView { } @end
MainView.m
#import "MainView.h" @implementation MainView - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code. } self.backgroundColor=[UIColor cyanColor]; return self; } // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { // Drawing code. //获得处理的上下文 CGContextRef context = UIGraphicsGetCurrentContext(); //设置线条样式 CGContextSetLineCap(context, kCGLineCapSquare); //设置线条粗细宽度 CGContextSetLineWidth(context, 1.0); //设置颜色 CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1.0); //开始一个起始路径 CGContextBeginPath(context); //起始点设置为(0,0):注意这是上下文对应区域中的相对坐标, CGContextMoveToPoint(context, 0, 0); //设置下一个坐标点 CGContextAddLineToPoint(context, 100, 100); //设置下一个坐标点 CGContextAddLineToPoint(context, 0, 150); //设置下一个坐标点 CGContextAddLineToPoint(context, 50, 180); //连接上面定义的坐标点 CGContextStrokePath(context); } - (void)dealloc { [super dealloc]; } @end
在Xcode中创建Application-Base项目:(这里项目名假设为 Test95 )
Test95AppDelegate .h代码:
#import <UIKit/UIKit.h> #import "MainView.h" @interface Test95AppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; MainView *mainView; } @property (nonatomic, retain) IBOutlet UIWindow *window; @end
Test95AppDelegate.m中的didFinishLaunchingWithOptions方法代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. CGRect wholeWindow=CGRectMake(0, 20, 320, 320); mainView=[[MainView alloc]initWithFrame:wholeWindow]; [self.window addSubview:mainView]; [self.window makeKeyAndVisible]; return YES; }
结果如下图: