A控制器----B控制器-----C控制器:C直接跳转A

A控制器----B控制器-----C控制器:C直接跳转A

 

自定义C控制器返回按钮

1         UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(back)];

2         

3         self.navigationItem.leftBarButtonItem = backBarButton;

监听back

- (void)back

{

    UIViewController *popVC = self.navigationController.viewControllers[1];

    

    NSLog(@"%@", self.navigationController.viewControllers);

    

    [self.navigationController popToViewController:popVC animated:YES];



}

具体要返回到第几个控制器 可以打印

self.navigationController.viewControllers

这是数组,可以看到里面每个控制器的顺序
改变索引就可以任意跳转了

注意:如果没有自定义按钮 需要实现以下方法 避免可以左滑返回:
1 - (void)viewWillAppear:(BOOL)animated

2 {

3 

4     self.navigationController.interactivePopGestureRecognizer.enabled = NO;

5 }
1 - (void)viewWillDisappear:(BOOL)animated

2 

3 {

4 

5          self.navigationController.interactivePopGestureRecognizer.enabled = YES;

6 

7 }

 

 

你可能感兴趣的:(控制器)