gpt4 book ai didi

ios - 如何过渡出父级 UINavigationController

转载 作者:行者123 更新时间:2023-11-28 13:49:16 25 4
gpt4 key购买 nike

我有以下代码,它设置并显示要嵌入到 UINavigationController 中的 UIViewController:

private func transitionToMainVC() {
let vc = UINavigationController(rootViewController: SpacesVC())

DispatchQueue.main.async {
self.show(vc, sender: self)
}
}

现在,在SpacesVC 中,我想show() 另一个UIViewController,但在“父”UINavigationController 之外。

当我在 SpacesVC 中使用以下代码时:

// Called by a button touch up inside
@objc private func transitionToMainVC() {
let vc = NextVC()

self.show(vc, sender: self)
}

它过渡到 NextVC 但它在屏幕顶部显示导航栏;也就是说,新的 View Controller 仍然嵌入在第一个代码段中定义的 UINavigationController 下。

我知道在 NextVC 中隐藏导航栏的可能性:

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navController.isNavigationBarHidden = true
}

但我想show() NextVC 而不是将它嵌入到导航 Controller 中,因为我不再需要它了。我该怎么做?

最佳答案

使用this method而不是 show

func present(_ viewControllerToPresent: UIViewController, 
animated flag: Bool,
completion: (() -> Void)? = nil)

关于ios - 如何过渡出父级 UINavigationController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54948029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com