2017-08-12 50 views
0

我試圖擺脫一些depricated代碼在MapView創建覆蓋,現在我facingh此警告兼容的指針類型從結果類型'MKOverlayView * _Nonnull'警告:</p> <p>不兼容的指針類型返回「MKCircleRenderer *」:在更新代碼

我讀過很多關於這個問題的Q &,但直到現在我還是無法弄清楚。我的代碼有什麼問題?

// Create overlay 
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay{ 

MKCircleRenderer *circleView = [[MKCircleRenderer alloc] initWithOverlay:overlay]; 
circleView.fillColor = [[UIColor cyanColor]colorWithAlphaComponent:0.5]; 
circleView.strokeColor = [[UIColor blueColor]colorWithAlphaComponent:0.8]; 
circleView.lineWidth = 1; 
return circleView; 
} 

回答

0

錯誤說circleViewMKCircleRenderer *類型,但是你的返回類型爲MKOverlayView *。這些類型應該是相同的。

- (MKCircleRenderer *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay{ 

MKCircleRenderer *circleView = [[MKCircleRenderer alloc] initWithOverlay:overlay]; 
circleView.fillColor = [[UIColor cyanColor]colorWithAlphaComponent:0.5]; 
circleView.strokeColor = [[UIColor blueColor]colorWithAlphaComponent:0.8]; 
circleView.lineWidth = 1; 
return circleView; 
} 
+0

謝謝,你能給我提示如何做到這一點?我沒有很多的經驗(對不起) – A3O

+0

@A3O我更新了我的答案,試一試 – 3stud1ant3

+0

@ A3O請給出反饋,如果它解決了你的問題 – 3stud1ant3

相關問題