gpt4 book ai didi

ios - 尝试切换到不同 Storyboard 中的不同 View Controller 时无响应

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

我在 Storyboard Alpha 上有一个按钮,可以使用以下代码转到 Storyboard Beta:

@IBAction func showBeta(_ sender: Any) {

let storyboard = UIStoryboard(name: "Beta", bundle: nil)
let bvc = storyboard.instantiateViewController(withIdentifier: "BetaViewController") as! BetaViewController

self.present(bvc, animated: true, completion: nil)
}

这没有任何问题。

但是,我遇到了在 Beta 版中没有后退按钮的问题,因为 self.present 使新 View 以模态方式出现。

然后我读了this post张贴者和我有同样的问题。答案建议这段代码:

self.navigationController?.pushViewController(viewController: UIViewController, animated: Bool)

所以我将代码更改为:

@IBAction func showBeta(_ sender: Any) {

let storyboard = UIStoryboard(name: "Beta", bundle: nil)
let bvc = storyboard.instantiateViewController(withIdentifier: "BetaViewController") as! BetaViewController

self.navigationController?.pushViewController(bvc, animated: true)
}

但是,现在单击按钮时什么也没有发生。没有错误,什么都没有。这是怎么回事?

最佳答案

您的 AlphaViewController 似乎没有嵌入到 UINavigationController 中。

试试这段代码:

@IBAction func showBeta(_ sender: Any) {

let storyboard = UIStoryboard(name: "Beta", bundle: nil)
let bvc = storyboard.instantiateViewController(withIdentifier: "BetaViewController") as! BetaViewController

show(bvc, sender: self)
}

如果您的 AlphaViewController 没有嵌入到导航 Controller 中,这将导致您的 BetaViewController 模态显示,并且您不会获得后退按钮。但是,如果您的 AlphaViewController 嵌入在导航 Controller 中,那么您的 BetaViewController 将显示为从左到右的过渡,您将获得所需的后退按钮。

添加导航 Controller :

如果您从界面生成器添加了AlphaViewController,请按照以下步骤将其嵌入导航 Controller :选择AlphaViewController ->编辑器 -> 嵌入 -> 导航 Controller

或者,如果您以编程方式添加 Controller ,则可以检查 this answer .

关于ios - 尝试切换到不同 Storyboard 中的不同 View Controller 时无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44938491/

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