我遇到性能問題。如何使用性能動畫多邊形蒙版?
我創建了一個UIView並覆蓋它的drawRect函數。在這個函數中,我正在繪製一個圖像(大的圖像),並且在整個屏幕上有一個白色正方形,裏面有一個多邊形,帶有CGContextEOFillPath。結果是顯示部分圖像(由多邊形定義)的白色屏幕。
之後,我創建了一個函數來爲該多邊形的過渡設置另一個。除了多邊形動畫之外,還應該縮放圖像並移動以修復屏幕上的顯示。我用NSTimer做了這個。多邊形的動畫包括計算每個頂點之間的距離,然後根據elapsedTime移動到一個位置。它在模擬器上工作得很好,但是在設備上真的很困難。
閱讀關於性能,在這裏在stackoverflow,我發現替代使用beginAnimations和commitAnimations。我正在改變一切,在圖像上使用這種方法。但是我能用多邊形做什麼。多邊形是用CGContextMoveToPoint和CGContextAddLineToPoint繪製的,所以我相信它不能用beginAnimations動畫。我正確嗎?有沒有更好的方法來做到這一點?
期望的結果是這樣的漫畫閱讀器應用程序:(點擊導遊在他們表現出視頻中的「自動屏蔽」功能的中間)http://www.comixology.com/iphoneapp
謝謝,我會先嚐試這種方法,如果我沒有成功,我會給阿德里安的一個嘗試。之後我討厭答案,好嗎?再次感謝! –