CGContext - 有没有办法重置当前上下文

时间:2009-02-04 01:46:23

标签: iphone cocoa-touch core-graphics

在我的iPhone项目中,我有一个实现drawRect方法的UIView:

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

在方法内部,我使用此上下文绘制了一大堆线条,图像和文本。问题是,当我重新使用此视图时,上下文不会被重置。是否有一种方法我可以调用以某种方式重置上下文?

2 个答案:

答案 0 :(得分:15)

您可能想要查看CGContextSaveGState(上下文)和CGContextRestoreGState(上下文)。它们会让你推动并弹出当前的上下文状态。

如果您的视图被“损坏”,请检查您的视图的contentMode设置。

答案 1 :(得分:1)

您也可以使用CGContextClearRect(context, CGRectMake(0, 0, width, height));