2009-10-27 37 views
0

我正在使用容器UIView來安置UIImageView並做一些自定義繪圖。在這一點上,我想在我的子視圖上做一些繪圖。所以重寫drawRect:在我的容器中,UIView只會在子視圖下繪製。重載方法(具體drawRect :)沒有子類化

有沒有辦法重載drawRect:在我的子視圖中沒有子類化呢?

我認爲方法swizzling可能是答案,但我希望不是。

(注意:是的,這本來是聰明有UIView的是的UIImageView的子視圖,但遺憾的是現在我致力於我的錯誤。)

回答

0

你確定你的意思是超載和不覆蓋?

重載 - 創建一個具有相同基本名稱但不同參數,因此不同選擇器的新方法 - 可以通過向現有類添加包含新方法的新方法類別來完成。

覆蓋 - 修改現有方法的行爲 - 將需要在運行時(例如,通過swizzling)或子類對類的方法表進行猴修補。

+0

感謝您的澄清。重寫絕對是我需要的,因爲drawRect:永遠不會直接調用。 – SooDesuNe 2010-04-18 14:52:09