首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pop旧viewController

Pop旧viewController
EN

Stack Overflow用户
提问于 2017-02-09 23:06:44
回答 1查看 101关注 0票数 0

所以我有3个视图控制器(和一个nav视图控制器)。从VC1开始,我推到VC2,然后当VC2的场景完成时,我弹出VC2,然后推到VC3。唯一的问题是,用户可以看到堆栈推送/弹出。不管怎么说,我可以推送VC3然后弹出VC2而不被注意到吗?我知道这是一个堆栈,所以您不一定可以像数组那样选择元素,但是也许有一种方法可以从VC2中弹出VC3?

我看到了一些堆叠溢出资源,但都是从2011-2014年开始使用的旧语法,而且非常过时。有人有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-09 23:20:01

是的你可以。您可以使用setViewControllers:animated:方法。如下所示:

代码语言:javascript
复制
navigationController?.setViewControllers([vc1, vc3], animated: true)

这将在从堆栈中删除vc2并将其替换为vc3时激活推送。有关方法这里的更多信息。

更新:

如果您在v2中没有对v2的引用(很可能没有),那么您可以这样做:

代码语言:javascript
复制
navigationController?.setViewControllers(navigationController!.viewControllers.first!, vc3], animated: true)

哦,如果您想在没有任何动画的情况下推动vc3,那么显然,只需使用animated: false调用该方法即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42148617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档