ios - 创建一个 segue 并通过 Swift 将其附加在两个 View Controller 之间?

标签 ios swift segue

我们如何在不使用 Storyboard 的情况下以 swift 编程方式创建 Segue。由于应用程序的结构,我无法使用 Storyboard,因此我需要知道如何以编程方式执行此操作。

本质上,我想做的就是创建一个segue,并将其附加在源和目标之间。

到目前为止,我已经创建了一个 RollSegue 类,它是 UIStoryboardSegue 的子类。现在,我正在尝试执行以下操作:

var seg: RollSegue = UIStoryboardSegue("roll", self, destination)

我也尝试过:

var seg: UIStoryboardSegue = UIStoryboardSegue("roll", self, destination)

这些代码行运行良好,但是当我尝试调用 PerformSegue 方法时,出现错误:

Receiver (<Home1: 0x7fc84b573fd0>) has no segue with identifier 'roll'

最佳答案

实际上,您只能在 Storyboard 上设置 Segue 标识符。因此,如果你想在两个 Controller 之间导航,你应该使用

func pushViewController(_ viewController: UIViewController, 动画animated: Bool)

func presentViewController(_ viewControllerToPresent: UIViewController, 动画标志: Bool, 完成完成: (() -> Void)?)

关于ios - 创建一个 segue 并通过 Swift 将其附加在两个 View Controller 之间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37063674/

相关文章:

ios - Firebase 身份验证始终为零

iOS Swift Unwind segue 从 Detail 到 Master 以启动 segue 到 Detail2 无法正常工作

swift - 如何在保持导航栏存在的同时以模态方式呈现 View Controller 。 (对于设置 View Controller )

ios - 带主键的多对一(唯一约束)

ios - Xcode - 如何使用属性检查器中的本地化字符串

ios - 如何将视频从 "file:///"保存到 Swift 中的相机胶卷?

IOS 如何将数组转至另一个 View Controller

javascript - 移动浏览器 : update element on back button

ios - UITextDropDelegate willPerformDrop 没有被调用

ios - Swift 调用 setNavigationBarHidden 但 View 不会移动到顶部