2016-11-07 3 views
0

Я хочу представить GameScene с GameViewController от моего ViewController. Я пробовал:Настоящее GameScene от UIViewController

// let GameControllerA2 = GameViewController() 

      // let transition = CATransition() 
      // transition.duration = 0.5 
      // transition.type = kCATransitionPush 
      // transition.subtype = kCATransitionFromRight 
      // view.window!.layer.add(transition, forKey: kCATransition) 

      // self.present(GameControllerA2, animated: true, completion: nil) 

      if let vc3 = self.storyboard?.instantiateViewController(withIdentifier: "A2ID") as? GameViewControllerA2 { 
       let appDelegate = UIApplication.shared.delegate as! AppDelegate 
       appDelegate.window?.rootViewController!.present(vc3, animated: true, completion: nil) 

Code Photo

Но это все не работает. Просто, если я просто перетащить [Button] из раскадровки в GameViewController, это не сбой, но мне это нужно программно. Любые вопросы о моем процессе? Спроси, я отвечу.

ответ

0

Сначала вам нужно назначить идентификатор раскадровки для контроллера представления, который вы хотите представить поверх текущего контроллера. Вы можете сделать это в раскадровке в разделе инспектора идентификаторов

Пусть этот идентификатор будет «StoryboardIdentifierForNewClass», а именем класса будет NewClassViewController. Затем

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewControllerWithIdentifier("StoryboardIdentifierForNewClass") as! NewClassViewController 
self.presentViewController(vc, animated: true, completion: nil) 
+0

Этот код падает. "libC++ abi.dylib: завершение с неперехваченным исключением типа NSException (lldb)" В моем контроллере ViewController я добавил этот код к моей функции. Я не хочу, чтобы в GameScene отображался ViewController, я хочу, чтобы в моем ViewController показывался GameScene. – user6083214

0

Идея довольно проста.

Прежде всего, вы должны добавить SKView к вашему контроллеру.

Далее вы создаете объект GameScene и добавить его в SKView

view.presentScene(scene) 

Вот и все. Теперь у вас есть GameScene внутри вашего ViewController.

+0

Да, это в моем GameViewController. Но теперь я хочу представить этот GameViewController из другого ViewController. Этот другой ViewController не имеет ничего общего с GameScene. Вы можете мне помочь? – user6083214

Смежные вопросы