我的故事板中有 3 个视图控制器,例如Page1
、Page2
和Page3
。两者Page1
和Page2
都被推到Page3
。我想要做的是当Page3
点击返回按钮时,视图将 100% 返回Page1
并且永远不会返回Page2
。我现在使用的代码是
[self.navigationController popViewControllerAnimated:YES];
什么会回到它来自的页面有什么办法吗?我想修复它回来的页面,但不弹出回到它的来源。
我的故事板中有 3 个视图控制器,例如Page1
、Page2
和Page3
。两者Page1
和Page2
都被推到Page3
。我想要做的是当Page3
点击返回按钮时,视图将 100% 返回Page1
并且永远不会返回Page2
。我现在使用的代码是
[self.navigationController popViewControllerAnimated:YES];
什么会回到它来自的页面有什么办法吗?我想修复它回来的页面,但不弹出回到它的来源。
你应该使用
[self.navigationController popToRootViewControllerAnimated:true];
如果Page1是根目录,它将完美地为您工作。
您应该创建带有后退按钮的自定义导航控制器,然后单击后退按钮编写我的代码以导航到page 1
在文件中拖动一个导航栏.xib
并在其上放置一个后退按钮,
后退按钮上的代码片段,
-(void)BackButtonClick
{
YourView *Obj = [[YourView alloc] initWithNibName:@"YourView" bundle:nil];
[self.navigationController popViewController:Obj animated:YES];
[Obj release];
}
试试这个代码,
- (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];
}