问题
How can I force the game to switch from portrait (Scene 1) to landscape mode (HomeScene) in between scenes?
I have two scenes, Scene1 (which is portrait) and HomeScene (which is designed to be landscape)
I am calling this line from Scene 1.
-(void)gotoHome
{
//Would like to change interface orientation here.
HomeScene *scene = [HomeScene sceneWithSize:self.size];
[self.view presentScene:scene];
}
Problem is, both the scenes are being rendered on the same view. How can I tell a viewController to rotate itself?
回答1:
You can try use this trick, and this will call supportedInterfaceOrientations
on your controller.
[self presentViewController:[UIViewController new] animated:NO completion:NULL];
[self dismissViewControllerAnimated:NO completion:NULL];
A bit more in this answer: https://stackoverflow.com/a/22982364/242882
来源:https://stackoverflow.com/questions/23011766/force-change-interface-orientation-between-scenes