0

マップの吹き出しで開示ボタンをタップしたときに、別のビューをロードしたいと考えています。

AnnotationView 実装ファイルの initWithAnnotation メソッドで次を使用して、コールアウトにボタンを追加しました (関連するコードのみを表示しています)。

- (id)initWithAnnotation:(id<MKAnnotation>)annotation reuseIdentifier:(NSString *)reuseIdentifier

{

 self.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];

}

また、開示ボタンがタップされたことを検出するために、次の controllTapped メソッドを MapViewController 実装ファイルに追加しました。

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

{

    DetailViewController *dvc = [[DetailViewController alloc] init];
    [self.navigationController pushViewController:dvc animated:YES];



}

また、UI の .XIB を使用して新しい detailedDisclosure クラスを作成しました。これは、ユーザーが開示ボタンをタップしたときに読み込みたいビューです。

では、ユーザーが開示ボタンをタップしても何も起こらないのはなぜでしょうか?

4

2 に答える 2

1
UIButton *btnGo = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[btnGo addTarget:self action:@selector(goToLocation:) forControlEvents:UIControlEventTouchUpInside];
pinView.rightCalloutAccessoryView=btnGo;


-(void) goToLocation:(UIButton *) sender
{
}
于 2013-04-10T05:23:51.590 に答える