【问题标题】:how to pushViewController to tabBarController view?如何 pushViewController 到 tabBarController 视图?
【发布时间】:2011-03-24 20:11:14
【问题描述】:

我正在尝试显示一个显示 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]; 

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

【问题讨论】:

  • 您是如何创建视图层次结构的?

标签: iphone navigationcontroller tabbarcontroller


【解决方案1】:

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

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

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

【讨论】:

  • 你是对的......它返回零。 currView 是 UIViewController 我不想将其更改为 UITableView,因为我必须更改所有代码。我还能在这里做什么?谢谢!
  • 你不需要把它做成 UITableViewController,只要把它嵌入到 UINavigationController 中就可以推送其他视图控制器了。
  • 拜托,你能解释一下吗?甚至可以使用示例代码?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
  • 2011-08-25
  • 2011-02-19
相关资源
最近更新 更多