【发布时间】:2016-05-21 18:42:55
【问题描述】:
问题:如何从我的 GameScene.swift 中关闭 ViewController?
情况:我的 SpriteKit 游戏中有 2 个 VC,如下所示:
ViewController.swift ----Press Play-----> GameViewController
当玩家失败时,我想关闭 GameViewController 以便玩家可以再次按下播放键。我在我的 GameScene.swift 中检查玩家的损失,并希望从那里关闭 GameVC。
注意: 谷歌搜索没有成功。
我尝试了什么:
1) 在我的 GameScene.swift 中创建一个 gameVC 实例并像这样关闭它:
let gameVC = GameViewController()
gameVC.dismissViewController(false,completion: nil)
2) 做:
self.view.window!.rootViewController?.dismissViewControllerAnimated(false, completion: nil)
那些不工作的原因很明显^^
【问题讨论】:
-
1) 不起作用:您需要使用 existing 实例,而不是新实例。 2) 仅当
self.view.window!.rootViewController?是您的GameViewController实例时才有效,但看起来这可能是ViewController。 -
@AaronBrager 是的,我知道 :) 这就是为什么我把它放在“我试过的”部分的原因。我只是看不到如何获取现有实例:/
-
您需要向
GameScene提供对视图控制器的引用,以便它可以将其关闭,或者使用委托模式与控制对象进行反向通信,VC 应该自行关闭/关闭 -
@AaronBrager 将此作为答案,以便我接受(如果可行):D
标签: ios swift uiviewcontroller sprite-kit