将 UIViewController 从一个 presentingViewController 移动到另一个没有动画

Posted

技术标签:

【中文标题】将 UIViewController 从一个 presentingViewController 移动到另一个没有动画【英文标题】:Move UIViewController from one presentingViewController to another without animation 【发布时间】:2019-02-24 09:47:50 【问题描述】:

我试图在没有动画的情况下将一个视图控制器移动到另一个视图控制器:

viewController.dismiss(animated: false, completion: nil)
// viewController.presentingViewController != nil here
tabBarController.present(viewController, animated: false, completion: nil)

当我运行这段代码时,我遇到了崩溃:Application tried to present modally an active controller

【问题讨论】:

【参考方案1】:

你可以把现在的部分放在dismiss调用的完成处理程序中

viewController.dismiss(animated: false) 
    tabBarController.present(viewController, animated: false, completion: nil)

【讨论】:

但是当没有 viewController 时,我可以在关闭和呈现之间看到一个框架 我试图展示一个 viewController 并在后台切换它的展示者 嗯,好的。为什么要你首先这样做?也许有不同的方法。 注册后需要以动画方式显示个人资料“编辑个人资料”页面。在动画之后,我需要用个人资料页面替换注册页面。因此,当编辑完成时,“编辑个人资料”会以模态动画关闭,后面应该是他的个人资料页面

以上是关于将 UIViewController 从一个 presentingViewController 移动到另一个没有动画的主要内容,如果未能解决你的问题,请参考以下文章

将 NSString 从 UIViewController 传递到另一个

将数组从一个 UIViewController 传递到另一个 ViewController 返回 null

将变量从 UIViewController 传递到 SK 场景

将 UIViewController 从一个 presentingViewController 移动到另一个没有动画

Xcode:将信息从 UITableViewController 传递到 UIViewController

如何将数据从基于 plist 的 UITableView 传递到 UIViewController