2013-06-27 153 views
-1

我有一個使用drawRect方法繪製的矩形。我需要更新這個矩形。在drawRect方法中刪除形狀? - ObjectiveC

但我不知道如何創建它的一個實例。

我需要刪除先前繪製的矩形(或)更改先前繪製的矩形的框架。

我該怎麼做?

+0

在drawRect中,通常只需清除矩形,然後再繪製它。請添加您的代碼。 – Wain

+0

你需要重繪整個繪圖修改後的數據 – samfisher

回答

0

的系統跟蹤其視圖的一部分,它認爲是「髒」(需要繪製)。首次創建視圖時,整個視圖都很髒。當您將setNeedsDisplay發送到視圖時,會將整個視圖標記爲髒。如果發送setNeedsDisplayInRect:,則將指定的CGRect添加到視爲髒的視圖部分。

系統發送您的視圖的drawRect:消息之前,它會清除視圖到視圖的背景顏色的整個髒區。因此,如果您要將setNeedsDisplay發送到您的視圖,以便刪除先前繪製的矩形,則無需擔心在drawRect:中刪除了您的矩形;該系統已經爲您擦除。但是,這也意味着,如果在髒區什麼,你沒有想擦除,必須從drawRect:返回之前再次繪製。

+0

ok ..假設我有一個subUIView在這個矩形的範圍內。如果我爲那個矩形做clearRect,subUIView會被刪除嗎? –