有时我们会遇到一些比较特别的需求,比如跳转到一个功能页面的时候,我们不需要显示第一个页面,需要显示中间的某个页面(比如第二页),比较常见的就是微信中的选择照片的时候,点击从手机相册选择
显示的是相机胶卷
页面,点击返回才是照片
页面
其实是个很简单的功能,我们在这里记录一下
首先我们要创建自己的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:^{
}];