如何将viewController推送到tabBarController视图?

时间:2011-03-24 20:11:15

标签: iphone navigationcontroller tabbarcontroller

我正在尝试显示一个显示pdf文件(PDFReaderViewController)的UIViewController。我有一个带有4个选项卡的tabBarController。我想选择第4个选项卡,它是带有文件列表的UITableView,并在顶部显示带有导航栏的pdf。当用户完成查看pdf后,他可以导航回UITableView(第4个选项卡)。 我能够显示第4个标签视图,但我无法显示pdf。这是我的代码:

    PDFReaderViewController *pdfController = [[PDFReaderViewController alloc] init];
    [pdfController initwithName:fileName];

    //display the right tab view
    UIViewController *currView = [tabBarController.viewControllers objectAtIndex:3];    
    [tabBarController setSelectedViewController:currView];
    [window insertSubview:tabBarController.view atIndex:0];

    [[currView navigationController] pushViewController:pdfController animated:YES];///this is not showing!!!!
    [currView loadView];

    [pdfController release];
    [window makeKeyAndVisible]; 

我在这里做错了什么?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我最好的猜测是currView不是导航控制器。

您需要将第4个选项卡设为导航控制器,其根视图控制器是tableView。我猜测[currView navigationController]正在返回nil。

查看此信息的最佳方法是在相关行设置断点,然后打开调试器并键入 po currView