跳转到UINavigationController时不显示第一页

有时我们会遇到一些比较特别的需求,比如跳转到一个功能页面的时候,我们不需要显示第一个页面,需要显示中间的某个页面(比如第二页),比较常见的就是微信中的选择照片的时候,点击从手机相册选择显示的是相机胶卷页面,点击返回才是照片页面

其实是个很简单的功能,我们在这里记录一下
首先我们要创建自己的LJBaseNavigationViewController类,这个类继承于UINavigationController,然后我们创建一个init方法用于初始化这个类,重点就在这个方法里面

- (instancetype)initWithOtherDisplay {
    //根视图
    FirstViewController *first = [[FirstViewController alloc]init];
    self = [super initWithRootViewController:first];
    //第二个视图
    TwoViewController *two = [[TwoViewController alloc]init];
    [self pushViewController:two animated:YES];
    return self;
}

从上面的方法里面可以看出,需要根据根视图创建NavigationController之后,及时的push你所需要显示的视图(测试了一下,push两次也可以)

外面调用这个类

LJBaseNavigationViewController *base = [[LJBaseNavigationViewController alloc]initWithOtherDisplay];
    [self presentViewController:base animated:YES completion:^{
    }];

你可能感兴趣的:(跳转到UINavigationController时不显示第一页)