iOS画矩形、直线、文字的方法

来源:互联网 发布:图文直播软件下载 编辑:程序博客网 时间:2024/04/30 06:32

CGPoint画直线

CGContextRef ctx = UIGraphicsGetCurrentContext();

CGContextMoveToPoint(ctx, point1.x, point1.y);
CGContextAddLineToPoint(ctx, point2.x, point2.y); //画曲线用CGContextAddArc

CGContextStrokePath(ctx);



在iPhone屏幕上画长方形,直线和文字

完成饼图后,我悲哀的发现,画扇形和画方形、画直线完全是两码事儿,于是不得不重新找资料,完成画长方形,直线和文字的工作。

 //画长方形

CGContextRef ctx = UIGraphicsGetCurrentContext();
//设置颜色,仅填充4条边
CGContextSetStrokeColorWithColor(ctx, [[UIColor colorWithRed:1 green:1 blue:1 alpha:0.5] CGColor]);
//设置线宽为
CGContextSetLineWidth(ctx, 1.0);
//设置长方形4个顶点
CGPoint poins[] = {CGPointMake(5, 5),CGPointMake(425, 5),CGPointMake(425, 125),CGPointMake(5, 125)};
CGContextAddLines(ctx,poins,4);
CGContextClosePath(ctx);
CGContextStrokePath(ctx);

 

//画直线,x1y1是起始点,x2y2是结束点
//默认坐标系左上角为00
CGContextMoveToPoint(ctx, x1, y1);
CGContextAddLineToPoint(ctx, x2, y2);
CGContextClosePath(ctx);
CGContextStrokePath(ctx);

 

//画文字,设置文字内容
NSString *text = @"text";
//设置字体大小
UIFont *font = [UIFont systemFontOfSize:8];
//在指定xy点位置画文字,宽度为18
[text drawAtPoint:CGPointMake(x, y) forWidth:18 withFont:font
minFontSize:8 actualFontSize:NULL
lineBreakMode:UILineBreakModeTailTruncation
baselineAdjustment:UIBaselineAdjustmentAlignBaselines];

[text release]; 

 ///////////////////////

 

// 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();

    CGContextSetLineWidth(context, 2.0);

    CGContextSetStrokeColorWithColor(context, [[UIColorredColorCGColor]);

    CGContextMoveToPoint(context, self.bounds.origin.xself.bounds.origin.y);

    CGContextAddLineToPoint(context, self.bounds.size.widthself.bounds.size.height);

    CGContextStrokePath(context);

}