Снова вы должны получить ссылку на вид аннотации местоположения пользователя.
Следующие методы вызываются в iOS> = 5
Вариант 1
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
MKAnnotationView *aV;
for (aV in views) {
if ([aV.annotation isKindOfClass:[MKUserLocation class]]) {
MKAnnotationView* annotationView = aV;
annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
}
}
}
См. Также метод делегата ниже
Альтернативный метод
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
MKAnnotationView* annotationView = [mapView viewForAnnotation:userLocation];
annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
}
Обязательно добавьте метод делегата, чтобы вы могли делать все, когда нажата кнопка вызова:
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
В любой iOS любой из этих методов вызывается, и вы можете добавить правую / левую кнопку доступа к нему. убедитесь, что вы не добавили эту кнопку дважды, проверив счетчик подпредставлений представления аннотации местоположения пользователя.
Вы также можете добавлять / удалять дополнительные изображения, просматривая их во время выполнения, но я думаю, что вы не захотите их удалять. Кнопки