【问题标题】:Pushing a new viewcontroller from a tableview in a tab bar app从标签栏应用程序中的表格视图推送新的视图控制器
【发布时间】:2012-04-12 02:46:06
【问题描述】:

我有一个带有UITabBarController 的应用程序,它可以控制多个UIViewControllers。在该控制器中有一个UITableViewController。我试图弄清楚如何在我的 tableview 上选择一行并在实际导航到该选项卡时推送我的其他选项卡之一的视图控制器。

我使用过performSegueWithIdentifier: 但它将新视图推送到我的tableview 所在的同一选项卡上。我想导航到我推送到的视图所在的选项卡。

如果我不清楚:我的表格视图在选项卡 1 中。我单击一行。我想进入 Tab 2。到目前为止,我已经能够将 Tab 2 的视图控制器推送到 Tab 1。不好。

谁能解释一下?

谢谢

【问题讨论】:

  • 分享一些代码。你试过什么?

标签: iphone ios uitableview uitabbarcontroller pushviewcontroller


【解决方案1】:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSUInteger theIndex;
    [self.tabBarController setSelectedIndex:theIndex];
}

【讨论】:

    【解决方案2】:
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    {
        UIViewController *tab2ViewController = [self.tabBarController.viewControllers objectAtIndex:1];
    
        NewViewControllerToPush *mvc = [[NewViewControllerToPush alloc] init];
        [tab2ViewController.navigationController pushViewController:mvc animated:YES];
        [mvc release];
    }
    

    当您在 tabBar 中输入 viewControllers 时,请确保将它们包装在 UINavigationControllers 中,否则您将无法使用推送和弹出功能。

    【讨论】:

    • 感谢您的帮助。直到此时我才知道 NewViewControllerToPush。将来可能会派上用场。
    • NewViewControllerToPush 只是我想出的一个名字,你应该用你推入导航控制器的任何 ViewController 的名字替换它
    • 哈哈你可以看出我已经盯着这个屏幕太久了。无论如何谢谢@aryaxt。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多