1

こんにちは、アプリに 200 個以上のマーカーを表示するマップ ビュー ページがあります。

私は現在これらを開始します

MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:currentobjectarray.title andCoordinate:location];

これらは、マーカーがクリックされたときにテキスト ラベルを生成します。注釈ビューにボタンを追加して、クリックすると選択したマーカーの「詳細」ページに移動できるようにするにはどうすればよいですか? そのボタン部分はよくわかりません。

どんな助けでも大歓迎です

4

1 に答える 1

2

を作成して MKAnnotationViewUIButtonのプロパティに割り当てる必要があります。rightCalloutAccessoryView

mapView:viewForAnnotation:カスタム インスタンスを返すメソッドで、このMKAnnotationViewコードを挿入してボタンを作成し、それをアクションに関連付けます。

MKAnnotationViewインスタンスが呼び出され、呼び出さannotationViewれるメソッドはpresentMoreInfo.

UIButton * disclosureButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[disclosureButton addTarget:self
                     action:@selector(presentMoreInfo)
           forControlEvents:UIControlEventTouchUpInside];
annotationView.rightCalloutAccessoryView = disclosureButton;

あなたのpresentMoreInfo方法は次のようになります

- (void)presentMoreInfo {
    DetailsViewController * detailsVC = [DetailsViewController new];

    //configure your view controller
    //...

    [self.navigationController pushViewController:detailsVC animated:YES];
}
于 2012-12-31T12:34:16.667 に答える