我的 Storyboard的结构:
1.Screen1(UIViewController)
2.游戏画面(SKScene)
3.Screen3(UIViewController)
我正在从 Screen1 传递 UIViewController self 对象
//Screen1 class
@IBAction func onStartButtonClicked(_ sender: Any) {
Values.viewController = self
}
到 GameScreen,进行转场时:
//GameScreen class
struct Values {
static var viewController: UIViewController!
}
class GameScreen: SKScene {...}
我的任务是使用 Screen1 的对象从 GameScreen 到 Screen3 进行转场,该对象已从上一步传递:
Values.viewController!.performSegue(withIdentifier: "toScoreSegue1", sender: self)
一切都应该工作正常,因为我将一个segue从Screen1拖到Screen3,给它标识符“toScoreSegue1”并使用Screen1对象调用它。然而,什么也没有发生。
没有错误等
任何帮助将不胜感激!
最佳答案
我发现了一个问题!
我错误地在错误的 ViewController 上调用了 PerformSegue。
我必须在初始化 SKScene View 的 ViewController 上调用 segue:
1.Screen1(UIViewController)
2.GameScreen (SKScene) - 有自己的 ViewController,应该使用它来代替 Screen1!
3.Screen3(UIViewController)
我真的希望有同样问题的人会发现它有帮助。
关于ios - 从 SKScene 到 UIViewController 的 Segue 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43750139/