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

rus*_*elf 15 iphone cocoa-touch core-graphics

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

- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();
Run Code Online (Sandbox Code Playgroud)

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

Ben*_*ieb 15

您可能想要查看CGContextSaveGState(上下文)和CGContextRestoreGState(上下文).它们将允许您推送和弹出上下文的当前状态.

如果您的视图被"损坏",请检查您的视图的contentMode设置.