今天在學(xué)習(xí)iOS一些簡單動(dòng)畫尔许,具體的動(dòng)畫實(shí)現(xiàn)是利用CADisplayLink計(jì)時(shí)器每秒調(diào)用60次setNeedsDisplay碉熄,接著在UIView里的drawRect中改變某個(gè)點(diǎn)的位置利用UIBezierPath繪制曲線瞬女。按道理講,view上面應(yīng)該只有一條曲線左医,UIView有個(gè)屬性是clearsContextBeforeDrawing(默認(rèn)為YES)扩然,即每次繪制之前都會(huì)先清理畫布上所有的內(nèi)容辆毡。但運(yùn)行出來的結(jié)果是有很多條貝塞爾曲線出現(xiàn)在view上,即每次繪圖都沒有清除上一次繪制的曲線异袄。
最后將該view的opaque設(shè)置為NO,或者將該view的backgroundColor隨便設(shè)置一個(gè)顏色玛臂,問題就解決了烤蜕。具體原因還沒找到。迹冤。
總結(jié):需要在drawRect中繪制時(shí)讽营,一定要先設(shè)置該view的opaque或者backgroundColor!