如何弹出拆分视图控制器“DetailViewController?”

时间:2012-09-14 11:56:16

标签: iphone

     detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:nil];

    [self.splitViewController.splitViewController viewWillDisappear:YES];
    detailViewController.strDetailId = [teaserSectionOneArray objectAtIndex:indexValue] ;
    NSMutableArray *viewControllerArray = [[NSMutableArray alloc] initWithArray:[[self.splitViewController.viewControllers objectAtIndex:1] viewControllers]];
    [viewControllerArray removeAllObjects];
    [viewControllerArray addObject:detailViewController];
    [[self.splitViewController.viewControllers objectAtIndex:1] setViewControllers:viewControllerArray animated:NO];
    [self.splitViewController.splitViewController viewWillAppear:YES];
    [viewControllerArray release];

此代码用于推送到详细视图。单击按钮时,如何在详细视图中弹出另一个视图控制器?它不支持[self.navigationController popViewControllerAnimated:YES];。怎么处理这个问题?提前谢谢!

1 个答案:

答案 0 :(得分:2)

Wooooow不是你如何在navigationController的堆栈上推送视图控制器!!

您不必自己致电viewWillDisappearviewWillAppear等等!您不必自己将detailViewController添加到splitViewController.viewControllers数组中!

您需要做的是:

  • 确保您的UISplitViewController有一个NavigationController作为其detailViewController的一部分(即屏幕右侧的ViewController应该是UINavigationController,而不是常规{{1} }})。
  • 其余部分很简单,因为它的工作方式与常规的UIViewController相同。您UINavigationControllerUINavigationController的正确部分这一事实与您在任何其他情境中使用UISplitViewController时没有什么不同。

只需使用UINavigationController的{​​{1}}和pushViewController:animated:方法即可推送和弹出视图控制器。使用您添加的自定义popViewControllerAnimated:UINavigationController访问UINavigationController,从UISplitViewController访问IBOutlet