iOS导航栏NavgationController控制器跳转问题

正常情况下还A跳转B,B跳转C。
有些时候我们需要A直接跳转C,C返回B,B返回A。
下面有2种处理方式,供大家用的爽。

PUSH 大法跳转式
  • 下面的代码,是在C控制器里的。场景是:A跳转到C,C在自己的页面生成B控制器,然后插入到navigation里。返回的时候,就到了B控制器,B返回就到了A。
    B *b = [[B alloc]init];
    NSArray *tempArray  = self.navigationController.viewControllers;
    NSMutableArray *tempmu = [NSMutableArray arrayWithArray:tempArray];
    [tempmu insertObject:twc atIndex:1];
PRESENT模态弹出 大法跳转式
  • 下面的代码,是写在A控制器里,利用模态弹出C控制器
    C *cVc = [[C alloc]init];
    WYBaseNavgationController *nav = [[WYBaseNavgationController alloc]initWithRootViewController:cVc];
    [self presentViewController:nav animated:YES completion:^{
        B *bVc = [[B alloc]init];
        [self.navigationController pushViewController:bVc animated:YES];
    }];
  • 下面的代码,是写在C控制器里,多写了个关闭弹出视图的方法.点击关闭C控制器按钮,就到了B控制器,点击B返回,就到了A控制器。
-(void)initLeftBarButtonItem{
    //隐藏原生返回按钮
    self.navigationItem.hidesBackButton = YES;
    UIButton *backButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];
    //按钮偏移
    backButton.contentEdgeInsets = UIEdgeInsetsMake(0, -20, 0, 0);
    [backButton setImage:[UIImage imageNamed:@"back_black"] forState:UIControlStateNormal];
    [backButton addTarget:self action:@selector(clickLeftBtnDisMiss) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView: backButton];
    self.navigationItem.leftBarButtonItem = leftItem;
}

-(void)clickLeftBtnDisMiss{
    [self dismissViewControllerAnimated:YES completion:nil];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,542评论 1 14
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,469评论 2 4
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,364评论 0 6
  • 《裕语言》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 27,790评论 5 19
  • 1、请看下面一段代码,请问访问a,b,c 3种类型变量的效率从高到低依次是 (B) A. cbaB. abcC. ...
    AlanGe阅读 4,969评论 0 7