Ios 背景音乐播放两次
当视图加载到我的菜单(menuViewController)时,背景音乐开始播放(正常工作)。然后,当我单击开始并转到我的游戏(GameViewController)并返回菜单(menuViewController)时,它开始播放两次 这是我的viewDidLoad() 我尝试实例化menuViewController,然后使用该实例,而不是自动创建一个新实例(我想这不起作用) 这是在我的GameViewController中Ios 背景音乐播放两次,ios,swift,uiviewcontroller,sprite-kit,background-music,Ios,Swift,Uiviewcontroller,Sprite Kit,Background Music,当视图加载到我的菜单(menuViewController)时,背景音乐开始播放(正常工作)。然后,当我单击开始并转到我的游戏(GameViewController)并返回菜单(menuViewController)时,它开始播放两次 这是我的viewDidLoad() 我尝试实例化menuViewController,然后使用该实例,而不是自动创建一个新实例(我想这不起作用) 这是在我的GameViewController中 @IBAction func goToMenu(sender: An
@IBAction func goToMenu(sender: AnyObject) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("menuViewController")
self.presentViewController(vc, animated: true, completion: nil)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if segue.identifier == "gameToMenu" {
let destinationController = segue.destinationViewController as! menuViewController
destinationController.x = true
}
我还收到一个错误,上面写着:
“警告:试图在Ninja.GameViewController:0x7fdad1c1d7a0上显示其视图不在窗口层次结构中的Ninja.menuViewController:0x7fdad4cdbf20!”
如果要在视图控制器的顶部显示视图控制器,则需要确保父视图控制器dismissing@Knight0fDragon好的,谢谢,但我是一个初学者,你能告诉我怎么做吗?有很多方法,只要搜索这个网站交换视图控制器,检查它是否被取消,在每个视图控制器中,
覆盖deinit
和打印(“ViewControllerName deinit”)
以便您知道它们正在removed@Knight0fDragon我正在使用以下代码交换视图控制器:let storyboard=UIStoryboard(名称:“Main”,bundle:nil)让vc=storyboard.instantialeviewcontrollerwhiteIdentifier(“menuViewController”)作为!menuViewController presentViewController(vc,动画:true,完成:nil)
但是当你说打印(“viewcontrollername deinit”)时,如果它认为它没有像我说的那样工作,你只是在一个接一个地添加视图控制器,实际上是在构建一个视图控制器塔,如果它不起作用,那就意味着你没有移除旧的
@IBAction func goToMenu(sender: AnyObject) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("menuViewController")
self.presentViewController(vc, animated: true, completion: nil)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if segue.identifier == "gameToMenu" {
let destinationController = segue.destinationViewController as! menuViewController
destinationController.x = true
}