1

私は、カスタマイズしたいくつかのピンでマップを表示する単純なアプリケーションに取り組んでいます。カスタムピンをクリックするたびに、プッシュdetailedMapViewControllerして表示しますannotationView

ルートコントローラーに戻った後に同じピンをもう一度クリックしたい場合を除いて、すべて正常に動作しています。以前に選択したことのない別のピンを選択した場合でも、すべて正常に機能します。しかし、最後のピンをクリックしても何も起こりません。

作成したカスタム ピンをクリックする方法は次のとおりです。

- (void)mapView:(MKMapView *)_mapView didSelectAnnotationView:(MKAnnotationView *)view
{
    DetailedMapViewController *detailedMapViewController = [[DetailedMapViewController alloc] initWithNibName:@"DetailedMapViewController" bundle:nil];

    detailedMapViewController.pointAnnotation = view.annotation;

    [self.navigationController pushViewController:detailedMapViewController animated:YES];
    [[self navigationController] setNavigationBarHidden:NO animated:YES];
    [detailedMapViewController release];
}     

メソッドにブレークポイントを設定しましたが、ピンをもう一度クリックしても、ブレークポイントに到達できません。何かが原因で、そのメソッドを再度呼び出すことができません。多分私はどこかに戻る必要があります。とにかく少しの助けが素晴らしいでしょう。ありがとう。

4

1 に答える 1

4

メソッドを次のように変更します

- (void)mapView:(MKMapView *)_mapView didSelectAnnotationView:(MKAnnotationView *)view
 {
  DetailedMapViewController *detailedMapViewController = [[DetailedMapViewController alloc] initWithNibName:@"DetailedMapViewController" bundle:nil];

  detailedMapViewController.pointAnnotation = view.annotation;

 [self.navigationController pushViewController:detailedMapViewController animated:YES];
 [[self navigationController] setNavigationBarHidden:NO animated:YES];
 [detailedMapViewController release];

 //New line
   [_mapView deselectAnnotation:[view annotation] animated:NO]
}
于 2013-08-07T08:51:03.310 に答える