добавить detailButton в MKAnnotationView

Я хочу добавить кнопку к представлению аннотации и назначить ей действие. Я как бы понял, только в моем коде есть небольшая проблема.

// so when I touch the pin , and the annotation view is displayed , I create a button and add it to the view

    - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
    {

        view.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];

    }
    // when the button is pressed , go to another view 

    - (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
    {
        NSLog(@"calloutAccessoryControlTapped");
        ArticleViewController *det = [[ArticleViewController alloc]init];
        det.leTitle = view.annotation.title;
        det.link = @"http://en.wikipedia.org/wiki/San_Francisco";
        [self.navigationController pushViewController:det animated:YES];

    }

Проблема в том, что когда я впервые касаюсь аннотации, и кнопка создается, функция

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control

не работает. Только после того, как я сниму выделение с аннотации и снова коснусь ее, она заработает правильно. Не могли бы вы помочь мне улучшить мой код? Спасибо.

0
задан Teo 28 February 2012 в 08:42
поделиться