Objective c mapkit使用破折号图案绘制多段线会导致地图上不断闪烁
我已经创建了要显示在mapkit地图上的多段线集。当我设置lineDashPattern,然后查看地图时,所有线(无论是实线还是虚线)都会不断闪烁。一旦我将线条样式设置回实体,问题就会消失。 对问题的看法或我可以测试/检查的内容? 一些片段:Objective c mapkit使用破折号图案绘制多段线会导致地图上不断闪烁,objective-c,ios,mapkit,Objective C,Ios,Mapkit,我已经创建了要显示在mapkit地图上的多段线集。当我设置lineDashPattern,然后查看地图时,所有线(无论是实线还是虚线)都会不断闪烁。一旦我将线条样式设置回实体,问题就会消失。 对问题的看法或我可以测试/检查的内容? 一些片段: - (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context { ..
- (void)drawMapRect:(MKMapRect)mapRect
zoomScale:(MKZoomScale)zoomScale
inContext:(CGContextRef)context
{
.......
NSMutableArray * lineDash = [[NSMutableArray alloc] init];
[lineDash addObject:[NSNumber numberWithInt:20]];
.......
self setStrokeColor:[UIColor redColor]];
[self setLineWidth:2.0];
[self setLineDashPattern:lineDash];
.......
}
目前,我发现这种“闪烁”现象是由于在设置LineDasPattern时,drawMapRect在infinte循环中运行。我仍然不完全确定为什么将样式应用到MKOverlayPathView中的路径会导致问题,我认为这是某个地方的内存泄漏。尽管如此,我的解决方案是在事后将样式应用于覆盖视图。 e、 g
仍然不能完全确定为什么将样式应用于MKOverlayPathView中的路径会导致这些问题,我认为这是内存泄漏的原因。尽管如此,我的解决方案是在事后将样式应用于覆盖视图。 e、 g
MKOverlayPathView* overlayView = nil;
overlayView = [[[MKOverlayPathView alloc] initWithOverlay:overlay] autorelease];
overlayView.strokeColor = [UIColor redColor];
overlayView.lineWidth = 2.0;
overlayView.lineDashPattern = [NSArray arrayWithObjects:[NSNumber numberWithFloat:12],[NSNumber numberWithFloat:8], nil];