我只是想知道在setStroke
方法中根本没有提到context
时,context
如何知道设置setStroke
的笔画?
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 10);
[[UIColor colorWithRed:0.6 green:0.6 blue:0.6 alpha:1.0] setStroke];
顺便说一下,您多久以编程方式绘制自己的对象?
答案 0 :(得分:3)
这是您的颜色setStroke
的实现:
- (void)setStroke {
CGContextSetStrokeColorWithColor(UIGraphicsGetCurrentContext(), self.CGColor);
}
它使用相同的函数来获取您正在使用的上下文。
答案 1 :(得分:2)
检索上下文以设置线宽的方式与颜色设置笔触的方式相同。原因是因为UIGraphicsGetCurrentContext()
检索的主线程只有一个当前图形上下文。您可以推送和弹出不同的上下文,但该函数将始终返回当前的上下文。请记住,在iOS中,此函数不是线程安全的,只能从主线程调用。