我正在尝试绘制一个水平无限大的图形,与屏幕的高度相同.我在其中添加了一个UIScrollView和一个UIView的子类,它实现了该-drawRect:
方法.在模拟器中,一切正常,但在设备上,它似乎无法在图形达到一定大小后绘制.
我已经尽可能地缓存了所有内容,并且基本上只在该-drawRect:
部分中调用CGContextAddLineToPoint .我只画出屏幕上可见的内容.我有一个UIScrollView的委托,它监听-scrollViewDidScroll:
,然后告诉图形重绘自己([graphView setNeedsDisplay]
).
我发现一个方法告诉我重写+layerClass
方法并返回[CATiledLayer class]
.这确实允许图形实际在设备上绘制,但它的功能非常差.实际绘制的速度非常慢,并且发生的淡入淡出是不可取的.
有什么建议?