我在UIScrollView
内有CATiledLayer
(mapView)的视图。
可以缩放和滚动地图。
viewForZoomingInScrollView
的{{1}}方法返回mapView。在该视图的顶部(在UIScrollViewDelegate
内)我有另一个视图(overlayView),我需要绘制路径数(UIScrollView
,最多40个)。但在这种情况下的表现非常糟糕。我怎样才能改进它?在滚动视图上绘制的正确方法是什么?
我已经尝试过做的事情:
CGPath
和drawRect:
方法中渲染视图的上下文(在这种情况下,我需要保持drawLayer:inContext:
的常量大小,否则在缩放时会崩溃太大了 - 但这意味着每次用户滚动或缩放时我都需要重绘。在这种情况下,即使我绘制所有路径的时间大约为0.02秒,应用程序仍然很慢。overlayView
作为overlayView
,但在这种情况下,原始mapView变得非常慢。只有在加载了mapView的所有图块后才会加载overlayView图块。看起来CATiledLayer
的所有实例都使用相同的线程进行渲染或以某种方式相互阻塞。CATiledLayers
在单独的视图中绘制每个路径。非常慢,我认为这是因为视图绘制的开销很大。