2015-02-02 15 views
7

aşağıdaki hatayı alıyorum 7: initWithPolyline: kullanımdan kaldırıldı: İlk iOS kullanımdan kaldırılmış 7,0MKPolylineView initWithPolyLine: iOS önerilmiyor

MKPolylineView *lineView = [[MKPolylineView alloc] 
     initWithPolyline:overlay]; 

bunun yerine yerine yöntemi nedir?

+3

Yanıt olarak MKPolylineRenderer'ı kullanın, ancak viewForOverlay yerine rendererForOverlay temsilci yöntemini de uygulamanız gerekir. – Anna

cevap

5

initWithPolyline: için documentation'a bakın. Bunun yerine bir MKPolylineRenderer nesnesinin kullanıldığını söyleyen Deprecation Bildirimini okuyun.

1

Özellikle -initWithPolyline (iOS 7 ve sonrası için kullanılabilir) için MKPolylineRenderer'a bir göz atmak istersiniz.

10

(MKOverlayView *) tip delegesi yerine (MKOverlayRenderer *) tür delege kullanmalısınız. Ve MKPolylineView yerine MKPolylineRenderer döndürün.

-(MKOverlayRenderer *)mapView:(MKMapView *)mapView 
      rendererForOverlay:(id<MKOverlay>)overlay { 

    MKPolylineRenderer *renderer = [[MKPolylineRenderer alloc] initWithOverlay:overlay]; 
    renderer.strokeColor = [UIColor redColor]; 
    renderer.lineWidth = 5.0; 

    return renderer; 
}