我有一個iPad應用程序,我沿着x軸繪製日期的網格,並沿y軸繪製時間。然後我在該網格的特定部分繪製彩色條(使用CGContext方法)(請參閱圖像)。如果我保存並恢復CurrentGraphicsContext,是否會將我的繪圖還原到原始狀態?
如果我更改用於繪製小節的數據,則舊小節仍然可見,而新小節不可見。如果我使用-CGContextSaveGState和-CGContextSaveGState,那麼將「清除」舊數據,以便網格像原來沒有任何酒吧一樣?
我有一個iPad應用程序,我沿着x軸繪製日期的網格,並沿y軸繪製時間。然後我在該網格的特定部分繪製彩色條(使用CGContext方法)(請參閱圖像)。如果我保存並恢復CurrentGraphicsContext,是否會將我的繪圖還原到原始狀態?
如果我更改用於繪製小節的數據,則舊小節仍然可見,而新小節不可見。如果我使用-CGContextSaveGState和-CGContextSaveGState,那麼將「清除」舊數據,以便網格像原來沒有任何酒吧一樣?
號就在圖形上下文被恢復(圖形引擎狀態機)的,而不是在發動機已經產生。
我認爲文森特回答了你的問題,但你現在需要做的是在背景網格上從頭開始重新繪製所有的酒吧。調用setNeedsDisplay
可以查看在條形參數更改時繪製背景和條形的視圖。然後你的drawRect
應該重新創建網格和酒吧。
我試圖從-viewWillAppear和-viewDidAppear,甚至都沒有觸摸重繪網格(drawRect)... – SpokaneDude
對不起,這個回覆太晚了。在程序中的某處,您發現數據已更改,您需要重新繪製條形圖。此時您需要調用setNeedsDisplay,它將觸發drawRect重新繪製圖表。 – BobSnider