3

マップ上に多数のピンを表示する iPhone アプリを作成しています。ピンがタップされたときに、その場所に関する多くの情報を表示する別のビューをプッシュするアプリが必要です。

私のviewDidAppearには、テスト目的でピンのタイトルとサブタイトルの値を設定するコードがあります。

-(void)viewDidAppear:(BOOL)animated
{
            pin.title = @"Some title";
            pin.subtitle = @"Some subtitle";
}

私の didSelectAnnotationView デリゲートには、この行に沿ったものがあります

- (void)mapView:(MKMapView *)mapView
didSelectAnnotationView:(MKAnnotationView *)view
{    
    [self performSegueWithIdentifier:@"showPinDetails" sender:self];    
}

ピンをタップすると、ポップオーバーが一瞬表示され、ポップアップにタイトルとサブタイトルが表示され、セグエが詳細ビューをプッシュします。戻るボタンをタップしてマップ ビューに戻ると、ポップアップがまだ表示されます。どうすればポップアップを完全に非表示または無効にできますか? タイトルとサブタイトルの値を設定しないと、didSelectAnnotationView デリゲートはまったく呼び出されません。必要に応じて、追加のコードを喜んで投稿します。できるだけ単純にしたかっただけです。

私はこれを間違っていますか?必要なことを達成するために別の方法を使用する必要がありますか? ありがとう

4

2 に答える 2

9

設定していませんcanShowCallout

canShowCallout- >注釈ビューがコールアウトバブルに追加情報を表示できるかどうかを示すブール値。

ディスカッション->このプロパティの値がYESの場合、ユーザーが選択した注釈ビューをタップすると、標準のコールアウトバブルが表示されます

詳細については、MKAnnotationViewクラスリファレンスをご覧ください。

于 2012-12-09T15:02:33.073 に答える
5

ピンを追加するときは、ピン プロパティcanShowCalloutを設定するだけです。

annotationView.canShowCallout = NO;
于 2012-12-09T13:49:24.417 に答える