Il y a plusieurs articles sur Internet demandant comment combiner correctement SpriteKit et Storyboard / Interface builder. En particulier personne n'est capable de passer d'un SKscene à un UIViewController désiré. AUCUNE des solutions sur le net aborde vraiment ce problème! Est-ce vraiment pas possible de faire ça? Si oui, ce serait une limitation importante de SpriteKit …
Vous ne pouvez pas passer directement d'un SKScene
à un autre UIViewController
.
Cependant, le SKScene
est déjà contenu dans un UIViewController
.
Vous pouvez utiliser la delegation
pour passer un appel de méthode de la scène à son controller. Le controller peut alors passer à un autre controller de vue.
Alors…
Créer un protocole de délégué qui contient une méthode quelque chose comme … - (void)transitionToOtherViewController;
Définissez le controller de vue en cours en tant que délégué de votre scène.
self.scene.delegate = self;
Lorsque vous souhaitez passer à un autre controller de vue. Dans la scène, vous auriez quelque chose comme …
[self.delegate transitionToOtherViewController];
Ensuite, dans le controller de vue, vous avez …
- (void)transitionToOtherViewController { MyOtherViewController *controller = [MyOtherViewController new]; [self.navigationController pushViewController:controller animated:YES]; }
Ou quelque chose comme ça…