如何在Swift中呈现VC并设置为新的Root viewController?

问题描述 投票:0回答:1

我有这样的警告:不建议在分离的视图控制器上显示视图控制器

我需要知道如何在另一个VC中设置我的rootViewController并避免此警告

我的VC中有这个代码:

@IBAction func dissmissInfo(_ sender: UIButton) {

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let vc = storyboard.instantiateViewController(withIdentifier: "firstVC")
     present(vc, animated: true, completion: nil)
    })

在第一个VC我有这个:

    override func viewDidLoad() {
        super.viewDidLoad()

        UIApplication.shared.keyWindow?.rootViewController = self
}

但是当我尝试移动到另一个VC时,我有同样的警告:不建议在分离的视图控制器上显示视图控制器

ios swift uinavigationcontroller appdelegate
1个回答
1
投票

你的意思是你想要设置firstVC

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "firstVC")

作为新的RootViewController?

如是:

@IBAction func dissmissInfo(_ sender: UIButton) {
     let storyboard = UIStoryboard(name: "Main", bundle: nil)
     let vc = storyboard.instantiateViewController(withIdentifier: "firstVC")
     UIApplication.shared.keyWindow?.rootViewController = vc 
})

然后在firstVC中删除

UIApplication.shared.keyWindow?.rootViewController = self
© www.soinside.com 2019 - 2024. All rights reserved.