1

私のsplitviewには、UITable(Masterview)と、各tabbaritem(Detailview)にnavigationcontrollerを備えたタブバーが含まれています。マスタービューでテーブル行をクリックすると、詳細ビ​​ューコントローラーで新しいビューがプッシュされます。

この反復を作成して、適切なUINavigationControllerを取得し、新しいビューをプッシュしました。残念ながら、これは機能しません。新しいビューは表示されず、クラッシュすることもあります。

    // code from MasterView
    PDFViewer *pdfViewerController = [[PDFViewer alloc] initWithNibName:@"PDFViewer" bundle:nil];
    pdfViewerController.pdfData = [[NSData alloc] initWithData: pdfContent];
    pdfViewerController.docInfo = curDocInfo;

    // gets tabbar controllers
    XtendisAppDelegate *appDelegate = (XtendisAppDelegate *)[[UIApplication sharedApplication] delegate];
    NSMutableArray *controllers = [NSMutableArray arrayWithArray: appDelegate.tabBarController.viewControllers];

    for (UIViewController *curController in controllers) {
        if ([curController isKindOfClass:[UINavigationController class]]) {
            [curController.navigationController pushViewController:pdfViewerController animated:YES];
            break;
        }
    }

    [pdfViewerController release];

私が何を間違えたのか考えてみてください。助けていただければ幸いです。前もって感謝します。

乾杯、イノエル

4

1 に答える 1

1

交換してみてください

[curController.navigationController pushViewController:pdfViewerController animated:YES];

これとともに:

[curController pushViewController:pdfViewerController animated:YES];

curControllerすでに対象であるためUINavigationController class

于 2011-08-31T14:06:08.637 に答える