在视图控制器之间切换(同时使用 VC)
Switching between View Controllers (with simultaneous VCs)
目前,我有一个主 ViewController
,它调用一个 GameViewController
在主 ViewController
前面加载一个 SKScene
。我在主要 ViewController
的 viewDidLoad 中通过:
执行此操作
let gameView = self.storyboard?.instantiateViewController(withIdentifier: "Game") as! GameViewController
let top: UIViewController? = UIApplication.shared.keyWindow?.rootViewController
top?.present(gameView, animated: false, completion: nil)
这目前有效,我在 ViewController
的顶部显示了 SKScene
,在背景中显示图像(带有 ImageView
)。
但是,现在我想切换到另一个 ViewController
,但我不知道该怎么做。我尝试过的事情:
Segues(用 performSegue(withIdentifier: "mySegueID", sender: nil)
调用它们)
没用
推送新的ViewController
(有navigationController?.pushViewController(nextViewController, animated: true)
)
没用
显示新的 ViewController
(使用与显示 GameViewController
相同的代码)
这个 'PRESENT VIEWCONTROLLLER' 成功了。但是,在我调用下一个 ViewController
然后通过在新的 ViewController
中按下按钮触发的 segue 将其关闭后,新的 ViewController
不会再次调用 'present ViewController
' 方法了。
关于如何在 ViewController
之间成功切换(其中一个同时具有 GameViewController
)有什么想法吗?
我想知道为什么 segues 对你不起作用?
您需要给 segue 一个标识符,然后在某些函数或操作(如 buttonPressed)或其他东西中调用它。
在 performSegue(withIdentifier: "urSegueIdentifier", sender: Any?.self)
我不确定发件人是否可以为零,也许试试 .self?
目前,我有一个主 ViewController
,它调用一个 GameViewController
在主 ViewController
前面加载一个 SKScene
。我在主要 ViewController
的 viewDidLoad 中通过:
let gameView = self.storyboard?.instantiateViewController(withIdentifier: "Game") as! GameViewController
let top: UIViewController? = UIApplication.shared.keyWindow?.rootViewController
top?.present(gameView, animated: false, completion: nil)
这目前有效,我在 ViewController
的顶部显示了 SKScene
,在背景中显示图像(带有 ImageView
)。
但是,现在我想切换到另一个 ViewController
,但我不知道该怎么做。我尝试过的事情:
Segues(用
performSegue(withIdentifier: "mySegueID", sender: nil)
调用它们) 没用推送新的
ViewController
(有navigationController?.pushViewController(nextViewController, animated: true)
) 没用显示新的
ViewController
(使用与显示GameViewController
相同的代码)
这个 'PRESENT VIEWCONTROLLLER' 成功了。但是,在我调用下一个 ViewController
然后通过在新的 ViewController
中按下按钮触发的 segue 将其关闭后,新的 ViewController
不会再次调用 'present ViewController
' 方法了。
关于如何在 ViewController
之间成功切换(其中一个同时具有 GameViewController
)有什么想法吗?
我想知道为什么 segues 对你不起作用? 您需要给 segue 一个标识符,然后在某些函数或操作(如 buttonPressed)或其他东西中调用它。 在 performSegue(withIdentifier: "urSegueIdentifier", sender: Any?.self) 我不确定发件人是否可以为零,也许试试 .self?