0

我已经制作了跟随和执行代码之类的方法。

在查看后续结果图像后,我对石英框架的起源感到困惑。

请查看以下代码和图像。

[在 ViewController.m 中]

按下 UIButton 时执行跟随方法。

- (void)test {
    [customView drawCustom];
    [customView setNeedsDisplay];
}

[在 CustomView.m 中]

- (void)drawRect:(CGRect)rect {
    cgc_Context = UIGraphicsGetCurrentContext();

    CGContextSetLineWidth(cgc_Context, 5.0);
    CGContextSetStrokeColorWithColor(cgc_Context, [UIColor redColor].CGColor);
    CGContextMoveToPoint(cgc_Context, 0, 0);
    CGContextAddLineToPoint(cgc_Context, 200, 50);
    CGContextStrokePath(cgc_Context);
}

- (void)drawCustom {
    CGContextSetLineWidth(cgc_Context, 5.0);
    CGContextSetStrokeColorWithColor(cgc_Context, [UIColor yellowColor].CGColor);
    CGContextMoveToPoint(cgc_Context, 0, 0);
    CGContextAddLineToPoint(cgc_Context, 200, 50);
    CGContextStrokePath(cgc_Context);
}

[结果画面]

红线:drawRect的结果

黄线:drawCustom 的结果

为什么会出现不同的原点?

在此处输入图像描述

4

1 回答 1

0

您必须阅读苹果关于Quartz 2D Coordinate Systems的文档

于 2012-07-20T12:12:21.050 回答