将视图控制器从根视图推送到详细视图控制器(SplitView)

时间:2011-08-31 13:59:20

标签: ios uinavigationcontroller ipad uisplitview

我的splitview包含UITable(Masterview)和每个tabbaritem(Detailview)上带有navigationcontroller的tabbar。我想要的是当我在Masterview中点击tablerow时,它会在详细视图控制器中推送一个新视图。

我写了这个迭代来获得正确的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];

知道我做错了什么? 任何帮助赞赏。提前谢谢。

干杯, Inoel

1 个答案:

答案 0 :(得分:1)

尝试替换

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

用这个:

[curController pushViewController:pdfViewerController animated:YES];

因为curController已经是UINavigationController class

的对象