最近用到一个开源库,里边主要使用了Core Graphics框架的一些方法和函数。这里就介绍一下框架中的简单使用方法:
在iOS中,负责绘制视图的方法是UIView中的drawRect:方法,但是默认情况下,drawRect:并不会做任何事,想要手动绘制视图,就需要覆盖它。实现drawRect:的时候先要获取一个绘图上下文(drawing context,说实话,写程序这么长时间,看到context就头疼,因为在中文中实在找不到一种让人一目了然的翻译)。它的作用就是维护各种绘图状态,如当前绘图颜色,线条的粗细,并且绘制图形。代码示例:
#import <UIKit/UIKit.h>
@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编程(第三版)》……