在启动时,我试图在第一个viewcontroller的基础上显示第二个viewcontroller,而不忽略第一个viewcontroller。这篇文章看起来肯定有答案。它建议:
添加主视图控制器
var secondViewController:UIViewController!
在你的视野中加载:
secondViewController: UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "yourIdentifier") as! SecondViewController
就这样。当您想展示它时,请使用:
self.present(secondViewController, animated: true, completion: nil)
例如,如果我将它作为一个动作附加到按钮上,那么第三行就非常有用。但是,如果它位于第一个viewController的viewDidLoad:中,则无法工作。这就是我需要的。
如何在启动时自动在第一个viewController的顶部显示第二个viewController?
最佳答案
您需要在视图控制器中的适当位置执行此操作。当视图控制器出现时,有几个方法会被调用,它们用于不同的任务。
要呈现另一个视图控制器,您应该将其放入viewWillAppear:
或viewDidAppear:
,因为viewDidLoad:
在呈现中太早了。
请在此处阅读有关这些方法的更多信息:
https://stackoverflow.com/a/5659007/4543629