在SKView - iOS - SpriteKit前显示UIView

时间:2014-07-30 17:40:47

标签: ios objective-c uiview sprite-kit skview

我有一个简单的小型Sprite Kit游戏适用于iOS。我试图让我的UIView(其中包含主菜单按钮/标题)出现在SKView上方,其中正在发生一些漂亮的移动动画。这不是游戏,而是单独的视图。

我已经设置了一个UIView(其类设置为SKView)和另一个具有所有UIButtons和游戏标题的UIView。

但是,我似乎无法将SKView显示在包含按钮/标题的UIView上方。

我尝试这样做的一般原因是,在主菜单上,我希望在后台发生一些漂亮的连续动画作为一种很好的效果,同时用户决定选择任何一个按钮。我可以尝试做一些方法和非常基本的UIView动画代码的动画,但是后来UI被阻止了,让它起作用很痛苦,因此SpriteKit动画要好得多,也更顺畅。

以下是我尝试这样做的方法:

// In header file:
IBOutlet UIView *anim_view;

// In implementation file:
// Configure the view.
SKView *skView = (SKView *)anim_view;
// Instead of ... self.view ... I have anim_view    

skView.showsFPS = NO;
skView.showsNodeCount = NO;

// Create and configure the scene.
SKScene *scene = [MyScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;

// Present the scene.
[skView presentScene:scene];

在我的故事板文件中,我有两个UIViews,就像我所说的那样:

Storyboard UIView setup image

如何解决这个问题?

谢谢你的时间,Dan。

1 个答案:

答案 0 :(得分:1)

SKView基于UIView,只是在它们之间进行交换,而不是试图将它们叠加起来。

[UIView transitionFromView:self.view toView:MySecondView duration:0.25 options:UIViewAnimationOptionTransitionCrossDissolve completion:^(BOOL finished) {
    // What to do when its finished.
}];

请参阅此答案:https://stackoverflow.com/a/11848297/183