2009-02-04 19 views
15

在我的iPhone項目,我有一個UIView,我實現drawRect方法:CGContext上 - 是有辦法重置當前的背景下

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

裏面我做了一大堆的描繪方法線條,圖像和文本使用此上下文。問題是,當我重新使用這個視圖時,上下文不會被重置。有沒有一種方法可以調用來重置上下文?

+0

你是什麼意思的「重置上下文」? – 2009-02-04 01:51:31

+0

我的意思是,當我的觀點再次繪製自己的時候,它全都被弄壞了,好像它記住了我上次移動的東西的位置 – rustyshelf 2009-02-04 02:02:26

回答

15

您可能想要查看CGContextSaveGState(context)和CGContextRestoreGState(context)。他們會讓你推動並彈出上下文的當前狀態。

如果您的視圖變得越來越嚴重,請檢查您視圖的contentMode設置。

1

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

相關問題