рисование ломаной ломаной линии с помощью штрихового рисунка вызывает постоянное мерцание на карте - PullRequest
0 голосов
/ 25 января 2012

Я создал различные наборы полилиний для отображения на карте mapkit. Когда я устанавливаю lineDashPattern, то при просмотре карты все линии (сплошные или пунктирные) постоянно мерцают. Как только я верну стиль линии назад, проблема исчезнет. Мысли к вопросу или что я могу проверить / проверить? некоторые фрагменты:

- (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];
.......
}

В настоящее время я обнаружил, что это «мерцание» происходит из-за drawMapRect, работающего в цикле infinte, когда я устанавливаю LineDastPattern.

1 Ответ

1 голос
/ 31 января 2012

Все еще не совсем уверен, почему применение стилей к пути в MKOverlayPathView вызывает проблемы, я думаю, что это где-то утечки памяти. Тем не менее, мое решение заключается в применении стилей к overlayView после факта. * 1001 например *

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];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...