在iOS中切换视图

时间:2012-08-24 09:01:35

标签: iphone view navigation

我的故事板中有3个视图控制器,例如Page1Page2Page3Page1Page2都被推送到Page3。我想要做的是当Page3点按“返回”按钮时,视图将100%返回Page1并且永远不会返回Page2。我现在使用的代码是

[self.navigationController popViewControllerAnimated:YES];

回到它所来自的页面有什么办法可以做到这一点?我想修复它的页面,但不会回到它的来源。

3 个答案:

答案 0 :(得分:2)

你应该使用

[self.navigationController popToRootViewControllerAnimated:true];

如果 Page1 是根目录,它将完美地为您服务。

答案 1 :(得分:0)

您应该创建自定义导航控制器,并在其上单击后退按钮,编写我的代码以导航到page 1

拖动.xib文件中的导航栏并在其上放置一个后退按钮,

后退按钮上的代码段,

-(void)BackButtonClick
{
  YourView *Obj = [[YourView alloc] initWithNibName:@"YourView" bundle:nil];
  [self.navigationController popViewController:Obj animated:YES];
  [Obj release];
}

答案 2 :(得分:0)

试试这段代码,

- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated

 NSInteger currentIndex = [self.navigationController.viewControllers indexOfObject:self];
if( currentIndex-2 >= 0 ) 
{
   [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:currentIndex-2] animated:YES];
}