2015-02-02 13 views
7

Tôi nhận được lỗi sau: initWithPolyline: bị phản đối: thứ nhất bị phản đối trong iOS 7,0MKPolylineView initWithPolyLine: bị phản đối trong iOS 7

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

phương pháp thay thế thay vì điều này là gì?

+3

Sử dụng MKPolylineRenderer làm câu trả lời cho biết nhưng bạn cũng cần triển khai phương thức ủy quyềnForOverlay thay vì viewForOverlay. – Anna

Trả lời

5

Xem documentation cho initWithPolyline:. Đọc Tuyên bố từ chối sử dụng đối tượng MKPolylineRenderer để thay thế.

1

Bạn sẽ muốn xem qua MKPolylineRenderer, cụ thể là -initWithPolyline (có thể sử dụng được trong iOS 7 trở lên).

10

Bạn nên sử dụng (MKOverlayRenderer *) loại đại biểu thay vì (MKOverlayView *) loại đại biểu. Và trả lại MKPolylineRenderer thay vì 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; 
} 
Các vấn đề liên quan