多语言展示
当前在线:1623今日阅读:67今日分享:39

IOS push与pop的跨界面跳转

IOS的push是一层叠加一层进行跳转的,而pop分为两种,一种是pop到上一级,一种是pop到根目录。有时候我们push多次后需要pop上上上一级。除了指定pop还可以修改self.navigationController.viewControllers.
工具/原料

Xcode

方法/步骤
1

创建四个控制器VC。第一个界面,添加按钮点击跳转事件,跳转到界面2.界面2,点击事件跳转到界面4。

2

界面4此刻如果是pop则直接返回界面2。我们想要pop返回到界面3,界面3在pop到界面1.即:self.navigationController中原本是:界面1,界面2,界面4,我们跳转到界面4后想要self.navigationController变成界面1,界面3,界面4.

3

核心代码在于界面2,push后就要修改self.navigationController.viewControllers。在跳转事件中添加:NSMutableArray *tempMarray = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];    [tempMarray insertObject:thirdVC atIndex:tempMarray.count - 2];    [tempMarray removeObject:self];    [self.navigationController setViewControllers:tempMarray animated:YES];把navigationController中的界面2删除,新增界面3.

4

最终展示效果为项目demo下载:https://pan.baidu.com/s/1slaRxTV

推荐信息