Swift segue 到函数中的另一个视图控制器

Posted

技术标签:

【中文标题】Swift segue 到函数中的另一个视图控制器【英文标题】:Swift segue to another View Controller in function 【发布时间】:2016-09-16 19:07:57 【问题描述】:

您好,我曾多次尝试通过使用教程来切换到另一个视图控制器,但它们不起作用。请有人给我关于如何设置和调用 segue 到我的下一个视图控制器的明确说明。请记住,此代码不会在当前视图控制器类中。

该函数在我的播放器死亡时运行,因此我希望出现另一个视图控制器。功能是:

 func playerHitSquare(player:SKSpriteNode, level1: Enemy)

    timer.invalidate()
    removeAllChildren()

我要访问的视图控制器名为 FinishViewController,标识符为 Finish,当前视图为 GameViewController。

【问题讨论】:

您在使用界面生成器吗?如果是这样,只需使用 performSegue(identifier:) 到目前为止您尝试过什么?添加不起作用的代码以及问题描述,答案将更加具体。 执行 segue 不起作用 【参考方案1】:

如果你使用的是导航控制器,你可以调用

func popViewControllerAnimated(_ animated: Bool) -> UIViewController?

删除当前的VC,然后

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

将所需的视图控制器添加到导航堆栈并使其处于活动状态。请记住,您可能需要向视图控制器类的 viewDidLoad 或 viewDidAppear/viewDidDisappear 添加代码,具体取决于

【讨论】:

【参考方案2】:

如果你使用的是故事板,你可以调用

self.performSegue(withIdentifier: "yourSegueIdentifier", sender: self)

在情节提要中,您必须通过控制连接视图控制器 - 从一个 VC 的顶部拖到下一个 VC 并为其指定标识符名称 (yourSegueIdentifier)。

【讨论】:

以上是关于Swift segue 到函数中的另一个视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

通过 Collection View Cell Swift 中的 segue 将图像传递给另一个视图控制器

Segue 不会执行 Swift

如何从 segue 中的另一个视图控制器实例化导航和选项卡控制器(显示详细信息)?

Swift - 在 segue 之后释放前一个视图控制器

Swift 3 - 调用准备 segue 时视图不更新

不能在代码中调用 segue (Swift)