gpt4 book ai didi

ios - 在不快速创建 segue 的情况下调用 Storyboard场景?

转载 作者:可可西里 更新时间:2023-11-01 01:05:51 24 4
gpt4 key购买 nike

我创建了一个场景并尝试将类链接到场景并使用 Storyboard创建一个 segue 并使用 self.performSegueWithIdentifier("SegueID", sender: self) 不管我做了什么(即干净的构建)我仍然遇到相同的错误“原因:'Receiver () has no segue with identifier 'SegueID''”

我认为解决这个问题的最好方法是在这种情况下一起避免 segue。

那么有没有一种方法可以在代码中从一个 View 调用以转换到另一个 View ,而无需在 swift 中使用 segue?

编辑我已经尝试了所有三种方法,但无济于事。最常见的方法是在 Storyboard 中的两个场景之间创建一个 segue 并为其命名,在我的例子中是“Details”,但无法识别 segue。

所以我尝试了下一种从 nib 加载它然后将该 nib 推到导航堆栈的方法,但是当编译和构建程序并且我单击按钮以呈现给新的 View Controller 时,除了函数 println 正在执行。

尝试手动使用目标 Controller 是行不通的。 instantiateViewControllerWithIdentifier 需要一个字符串并提示调用中的参数太多

最佳答案

您的代码不起作用,因为您需要在调用 performSegueWithIdentifier 时使用作为参数传递的特定 ID 在 Storyboard中设置 segue。因此,在您的情况下,您需要创建 ID 为 "SegueID" 的 segue,因为这是您传递给该调用的字符串。

如果您不想使用 Storyboard 来执行此操作,您仍然可以直接使用 UINavigationController(毕竟,segue 在后台使用 UINavigationController)。

然后你只需要手动实例化你的目标 View Controller (例如通过使用

self.storyboard.instantiateViewControllerWithIdentifier(<your vc id from the storyboard>, animated:true) 

或者从 Nib 加载它

init(nibName:bundle:)

然后使用

将其插入导航堆栈
self.navigationController.pushViewController(<the formerly instantiaded vc>)

关于ios - 在不快速创建 segue 的情况下调用 Storyboard场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30554215/

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