8

我收到以下错误:initWithPolyline: is deprecated: first deprecated in iOS 7.0

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

代替 this 的替换方法是什么?

4

3 回答 3

11

您应该使用(MKOverlayRenderer *)类型委托而不是(MKOverlayView *)类型委托。并返回MKPolylineRenderer而不是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;
}
于 2016-01-30T14:59:42.583 回答
5

请参阅. _ initWithPolyline:阅读弃用声明,它说要使用MKPolylineRenderer对象。

于 2015-02-02T16:50:58.323 回答
1

你会想看看MKPolylineRenderer,特别是 -initWithPolyline (在 iOS 7 及更高版本中可用)。

于 2015-02-02T12:10:47.320 回答