如何立即替换呈现的UIViewController?

时间:2019-05-25 10:35:32

标签: ios swift uiviewcontroller

我实现了两个不同的UIViewControllers,它们应该根据服务器响应和用户操作相互替换。为简单起见,我们假设我们有两个UIViewControllersbutton 替换为另一个,应该触发该替换。

现在我需要更换零件,但是问题在于关闭一个屏幕和显示另一个屏幕之间存在一些延迟。我想以某种方式摆脱它。我以 present UIViewController的形式显示method

我考虑过将这两个屏幕显示为 xib 文件中的视图,而一个UIViewController将会加载这些 xibs ,并将它们添加为{{ 1}},并在需要时将其中一个subViews替换为另一个subView,但是也许有一种方法可以对两个UIViewControllers进行替换?

我用来显示控制器的代码:

let vc = UIViewController1()
vc.modalPresentationStyle = .overFullScreen
self.present(vc, animated: false, completion: nil)

并解雇:

self.dismiss(animated: false, completion: nil)

3 个答案:

答案 0 :(得分:1)

您可以添加一个容器视图,然后在该视图中只需将所需的控制器添加为子视图控制器 official doc reference.

another reference

答案 1 :(得分:0)

将当前方法的“动画”参数设置为false

答案 2 :(得分:0)

  • 当前
@RequestParam
  • 关闭
let vc = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "YourViewController") as! YourViewController
self.present(vc, animated: false, completion: nil)

首先,您向父类发送通知,以出现另一个“ viewController”,然后关闭 当前课程

  • 注意:两个当前类方法都将动画设置为false