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];
。怎么处理这个问题?提前谢谢!
答案 0 :(得分:2)
Wooooow不是你如何在navigationController的堆栈上推送视图控制器!!
您不必自己致电viewWillDisappear
,viewWillAppear
等等!您不必自己将detailViewController
添加到splitViewController.viewControllers
数组中!
您需要做的是:
NavigationController
作为其detailViewController
的一部分(即屏幕右侧的ViewController应该是UINavigationController
,而不是常规{{1} }})。UIViewController
相同。您UINavigationController
是UINavigationController
的正确部分这一事实与您在任何其他情境中使用UISplitViewController
时没有什么不同。只需使用UINavigationController
的{{1}}和pushViewController:animated:
方法即可推送和弹出视图控制器。使用您添加的自定义popViewControllerAnimated:
或UINavigationController
访问UINavigationController
,从UISplitViewController
访问IBOutlet
。