我有两个 SKScene SceneA
,SceneB
.
我在每个场景中实现了两种方法( willMoveFromView
, )。didMoveToView
假设,我目前在SceneA
并且我想SceneB
通过这个代码块来展示:
SceneB *sceneB = [SceneB sceneWithSize:self.view.bounds.size];
sceneB.scaleMode = SKSceneScaleModeAspectFill;
[self.view presentScene:sceneB];
当我呈现这个场景时,我可以看到:
sceneA willMoveFromView
sceneB didMoveToView
sceneA init
sceneB willMoveFromView
sceneA didMoveToView
最后我回到第一个SceneA
!没有其他代码可以SceneA
从SceneB
. 我不知道该怎么办,请帮忙
更新:
正如@LearnCocos2D 所说,viewWillLayoutSubviews
每次我呈现场景时都会强制viewWillLayoutSubviews
使用以下代码呈现场景A
-(void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
SKView* skView = (SKView*)self.view;
SceneA *sceneA = [SceneA sceneWithSize:self.view.bounds.size];
sceneA.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:sceneA];
}