3

我只是想知道如何知道在方法中根本没有提到何时setStroke设置笔划?contextcontextsetStroke

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 10);
[[UIColor colorWithRed:0.6 green:0.6 blue:0.6 alpha:1.0] setStroke];

顺便说一句,您多久以编程方式绘制自己的对象?

4

2 回答 2

3

这是setStroke您的颜色的实现:

- (void)setStroke {
    CGContextSetStrokeColorWithColor(UIGraphicsGetCurrentContext(), self.CGColor);
}

它使用相同的函数来获取您正在使用的上下文。

于 2012-08-13T20:33:14.040 回答
2

您检索上下文以设置线宽的方式与颜色设置笔触的方式相同。原因是因为 . 检索到的主线程只有一个当前图形上下文UIGraphicsGetCurrentContext()。您可以推送和弹出不同的上下文,但该函数将始终返回当前上下文。请记住,在 iOS 中,此函数不是线程安全的,只能从主线程调用。

于 2012-08-13T20:23:29.397 回答