2015-11-02 3 views
0

Есть ли способ изменить цвет оттенков аннотаций rightCalloutAccessory, не меняя цвет оттенка mapView?Как изменить цвет оттенка rightCalloutAccessory на Mapbox?

Например, я хотел бы установить цвет оттенков цветов на белый, чтобы пользователь текущего местоположения и значок информации в правом нижнем углу были белыми, но я хотел бы, чтобы аннотации calloutAccessory были синими.

ответ

0

Вы хотите mapView:rightCalloutAccessoryViewForAnnotation:, который может быть использован как так:

- (UIView *)mapView:(__unused MGLMapView *)mapView rightCalloutAccessoryViewForAnnotation:(__unused id<MGLAnnotation>)annotation 
{ 
    UIButton *rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeInfoLight]; 
    rightCalloutAccessoryView.tintColor = [UIColor blueColor]; 

    return rightCalloutAccessoryView; 
} 
-1

Я думаю, вы хотите изменить цвет оттенка аннотации. Вы можете сделать это с помощью вызова функции указанного протокола MKMapViewDelegate в:

func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? { 
    var annotationView = mapView.dequeueReusableAnnotationViewWithIdentifier("annotationView") as? MKPinAnnotationView 

    if annotationView == nil { 
     annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "annotationView") 
    } 

    annotationView?.canShowCallout = true 
    annotationView?.rightCalloutAccessoryView = UIButton(type: UIButtonType.DetailDisclosure) 
    annotationView?.rightCalloutAccessoryView?.tintColor = UIColor.whiteColor() 

    return annotationView 
} 
+0

Ваш ответ на MapKit, в то время как вопрос запрашивает Mapbox. Конечно, правильный путь. – friedbunny

Смежные вопросы