iOS开发之Core Graphics相关方法的简单使用

最近用到一个开源库,里边主要使用了Core Graphics框架的一些方法和函数。这里就介绍一下框架中的简单使用方法:

在iOS中,负责绘制视图的方法是UIView中的drawRect:方法,但是默认情况下,drawRect:并不会做任何事,想要手动绘制视图,就需要覆盖它。实现drawRect:的时候先要获取一个绘图上下文(drawing context,说实话,写程序这么长时间,看到context就头疼,因为在中文中实在找不到一种让人一目了然的翻译)。它的作用就是维护各种绘图状态,如当前绘图颜色,线条的粗细,并且绘制图形。代码示例:

#import 

@interface MyView : UIView

@end

#import "MyView.h"

@implementation MyView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)drawRect:(CGRect)rect
{
    //应用在想该视图发送drawRect:消息之前,会创建一个上下文,这里直接获取当前上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    //获取当前视图大小
//    CGRect bounds = [self bounds];
    //设置线条宽度
    CGContextSetLineWidth(ctx, 5);
    //设置线条颜色,灰色
    CGContextSetRGBStrokeColor(ctx, 0.6, 0.6, 0.6, 1.0);
    //最后一个参数是是否顺时针
    CGContextAddArc(ctx, 140, 100, 40, 0.0, M_PI*2.0, YES);
    //绘图,上边的CGContextAddArc并不会绘出图形
    CGContextStrokePath(ctx);
}
@end
其实这种东西猛一看挺吓人的,写两遍就会发现,哦,原来就这样啊……今天就先简单介绍一下,先写到这里吧……对了,以上内容主要摘自《iOS编程(第三版)》……

你可能感兴趣的:(iOS系列)