2012-03-08 59 views
1

我有一個UIView,允許用戶在屏幕上繪製一條線(myLine)。這個UIView直接在另一個具有用CGPaths繪製的幾個形狀的UIView之上。當用戶點擊這些形狀之一時,我需要擦除myLine上方的其他形狀之一的任何部分,就像我用橡皮擦擦除像素一樣。 什麼是最好的方法來解決這個問題?在uiview中緩存繪圖

enter image description here

我需要的行的淡藍色部分被擦除留下深藍色部分

1)(目前的方法部分作品)我能夠使用路徑的形狀從底部視圖作爲頂視圖中的掩碼,但它只掩蓋了UIView。如果我以後需要更改掩碼位置,矢量筆畫仍然存在。 (我知道這是因爲我所有的線都被重繪在視圖的正確位置)

2)繪製每一行後,我應該以某種方式緩存繪圖作爲圖像然後 切出三角形內的部分?

3)有沒有更好的方法呢?

回答