マップの吹き出しで開示ボタンをタップしたときに、別のビューをロードしたいと考えています。
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 クラスを作成しました。これは、ユーザーが開示ボタンをタップしたときに読み込みたいビューです。
では、ユーザーが開示ボタンをタップしても何も起こらないのはなぜでしょうか?