2015-02-02 19 views
7

Sto ottenendo il seguente errore: initWithPolyline: è deprecato: prima abbandonata in iOS 7,0MKPolylineView initWithPolyLine: is deprecated in iOS 7

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

Qual è il metodo di sostituzione di invece di questo?

+3

Utilizzare MKPolylineRenderer come dice la risposta, ma è necessario anche implementare il metodo delegato rendererForOverlay anziché viewForOverlay. – Anna

risposta

5

Vedere documentation per initWithPolyline:. Leggi la Dichiarazione di cancellazione che dice di usare invece un oggetto .

1

Ti piacerebbe dare un'occhiata a MKPolylineRenderer, specificatamente su -initWithPolyline (disponibile in iOS 7 e versioni successive).

10

È necessario utilizzare il delegato del tipo (MKOverlayRenderer *) anziché il delegato del tipo (MKOverlayView *). E restituire MKPolylineRenderer anziché MKPolylineView.

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

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

    return renderer; 
} 
Problemi correlati