导航视图控制器的页面跳转
1.页面之间的跳转push到下一个界面原理是当一个导航控制器跳转后就会保存到栈顶, 依次保存,
当pop返回的时候就是从栈中获取控制器
2.从第一界面跳到第二界面, 从第二界面跳到第三界面, 然后从第三界面通过屏幕边缘左滑直接到第一页面
方法有两种:
1.给第三个控制器 添加一个清扫手势, 让第三个控制器直接popto指定的控制器
指定的控制器要先从视图控制器的数组中获取得到,通过
UIviewcontroller *VC = [self.navigatrioncontroller.viewcontrollers objiectAtIndex:0];//先找到你想到的那个控制器
[self.navigationcontroller poptoViewcontroller:VC animated:YES];
2.在第二个控制器推倒第三个的时候将第二个控制器从控制器的数组中删除, 然后再将要跳转的第三个控制器添加到导航数组中
方法是
- (void)toThirdVC
{
NSMutableArray *marray = [self.navigationcontroller.viewcontrollers mutableCopy];
[ marry removeObjiect:self]———————self 就是本控制器
thirdVIewController *tVC= [【thirdViewController alloc】 init];
[self.navigationController setViewControllers:@[marray[0] , tVC] animation: YES];————此时数组有第一个控制器和第三个控制器,第二个已经被删除了, 也不用再写push到下一界面了, 栈里面已经保存了
}