2011-06-08 14 views

cevap

4

O MapKit çoğunu tutmak için farklı nesneleri (MKPolygon, MKCircle, MKShape) sahip olduğunu hatırlamak önemlidir Bir görünüm çizme ile ilgili veriler (MKPolygonView, MKCircleView, MKOverlayView, vb.) Çoğu durumda, görüntüleme nesnesine bir referans almak istersiniz, böylece arka plan rengini ayarlayabilirsiniz. yani

MKOverlayView *anOverlay; //You need to set this view to the object you are interested in 
anOverlay.backgroundColor = [UIColor redColor]; 
[anOverlay setNeedsDisplay]; 

bir sonra fillColor özelliğini ayarlayın ve setNeedsDisplay arayarak nesneyi yeniden çizme içine sürüklenmektedir Nesneniz bir MKPolygon ise, MKPolygonView belirlemelidir:

MKPolygonView *theView; 
theView.fillColor = [UIColor redColor]; 
[theView setNeedsDisplay]; 
+0

amele büyük ki! Teşekkürler çip! ve gelecekte ios noob soruların bol var gibi ayarlı kalmak :) – AdamBT

0

Sizin MapView bir sahiptir Belirli bir yer paylaşımı için renderer nesnesini alma yöntemi. Daha sonra, kaplamanızın rengini değiştirmek için oluşturucuyu kullanabilirsiniz. Bir MKPolygon bindirme için arıyoruz değil

if let renderer = mapView.rendererForOverlay(overlay) as? MKPolygonRenderer { 
    renderer.fillColor = UIColor.redColor() 
} 

MKPolygonRenderer isteğe bağlı döküm dışarı bırakın.

(Bu oldukça eski bir sorudur farkındayım ama sadece o tökezledi ve benim çözüm buldu)

İlgili konular