2017-02-05 6 views
1

Итак, у меня есть приложение, которое начинается с контроллера меню, который предлагает пользователю нажать одну из кнопок 4ish, которая затем загружает диспетчер представлений, который затем представляет сцену, и пользователь играет в игру, на основе которой была кнопка нажат.Увольнение SKScene полностью

Затем я перенаправляю пользователя к другому диспетчеру просмотра, который представляет другую сцену, когда выполняется условие (они теряют игру). Проблема только в том, что второй диспетчер представлений (и я предполагаю, что это сцена) все еще работает. Я знаю это, потому что у меня есть оператор печати внутри этого метода переопределения функции переопределения, чтобы убедиться, что он все еще там.

Кроме того, у меня есть звук, играющий в моих старых играх, и он все еще в настоящее время играет. Я бы не стал точно думать, что с тех пор, как позже я собираюсь просто закончить передачу аудиоданных (отключить все) между всеми 3 диспетчерами просмотра и их представленными сценами.

Только проблема с тем, что происходит прямо сейчас, заключается в том, что когда я запускаю приложение со старого viewiewcontroller, он, похоже, все еще работает под ним, он продолжает называть переход, который вызывает странный вид, где, когда условие встречается, переход кончается бесконечно к новому диспетчеру просмотра, а затем обратно в начало перехода, а затем снова в новый диспетчер представлений.

Я пробовал этот кусок кода:

let theVC = self.viewController?.storyboard?.instantiateViewController(withIdentifier: "TrumpVC") as! TrumpViewController 

self.viewController?.navigationController?.pushViewController(theVC, animated: true) 

self.viewController?.dismiss(animated: true, completion: {}); 

Но это, кажется, не помогает вообще :(По существу я перейти к новому ViewController и смещать текущий (все это в моем сцена)

Благодаря

ответ

0

Решение:

let theVC = self.viewController?.storyboard?.instantiateViewController(withIdentifier: "TrumpVC") as! TrumpViewController 

self.viewController?.navigationController?.pushViewController(theVC, animated: true) 
self.viewController?.removeFromParentViewController() 
self.viewController?.dismiss(animated: true, completion: nil) 
self.view?.presentScene(nil) 
Смежные вопросы