0

地図上にMKMapViewと いくつかのマーカーがあります。ユーザーがマーカーをタップするMKAnnotationViewtitlebuttonタイプの と が表示されUIButtonTypeDetailDisclosureます。

ユーザーがボタンをタップすると、別の に移動する必要がありますviewController。問題は、新しいものが登場したときviewController、それが空白であり、絵コンテで指定した形式になっていないことです。

のコードは次のcalloutAccessoryControlTappedとおりです。

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

    MnhmeioViewController * destViewController = [[MnhmeioViewController alloc] init];

    Annotation *which=view.annotation;
    NSString *whichString=which.title;

    Group *tmpGroup;

    for(int i=0; i<allGroups.count; i++) {

        Group *checkGroup=[allGroups objectAtIndex:i];

        if ([checkGroup.title isEqualToString:whichString]) {
            tmpGroup=checkGroup;
            break;
        }
    }

    NSString *mnhmeioName=tmpGroup.title;
    destViewController.titleNavBar = mnhmeioName;
    destViewController.selectedArthro = tmpGroup;

    [self.navigationController pushViewController:destViewController animated:YES];
}
4

1 に答える 1

1

MnhmeioViewController を NibName または Storyboard の識別子で初期化する必要があります。また、MnhmeioViewController をクラス レベルのプロパティとして作成します。View Controller を追加するときは、より良い方法です。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"YourStoryBoard" bundle:nil];
MnhmeioViewController * destViewController = [storyboard instantiateViewControllerWithIdentifier:@"MnhmeioViewController"];
于 2013-11-29T10:17:22.293 に答える