我遇到性能问题。如何使用性能动画多边形蒙版?
我创建了一个UIView并覆盖它的drawRect函数。在这个函数中,我正在绘制一个图像(大的图像),并且在整个屏幕上有一个白色正方形,里面有一个多边形,带有CGContextEOFillPath。结果是显示部分图像(由多边形定义)的白色屏幕。
之后,我创建了一个函数来为该多边形的过渡设置另一个。除了多边形动画之外,还应该缩放图像并移动以修复屏幕上的显示。我用NSTimer做了这个。多边形的动画包括计算每个顶点之间的距离,然后根据elapsedTime移动到一个位置。它在模拟器上工作得很好,但是在设备上真的很困难。
阅读关于性能,在这里在stackoverflow,我发现替代使用beginAnimations和commitAnimations。我正在改变一切,在图像上使用这种方法。但是我能用多边形做什么。多边形是用CGContextMoveToPoint和CGContextAddLineToPoint绘制的,所以我相信它不能用beginAnimations动画。我正确吗?有没有更好的方法来做到这一点?
期望的结果是这样的漫画阅读器应用程序:(点击导游在他们表现出视频中的“自动屏蔽”功能的中间)http://www.comixology.com/iphoneapp
谢谢,我会先尝试这种方法,如果我没有成功,我会给阿德里安的一个尝试。之后我讨厌答案,好吗?再次感谢! –