菜鸟教程小白 发表于 2022-12-12 12:55:38

ios - 使用导航 Controller 作为开始屏幕 ios


                                            <p><p>我已经到了需要为使用 sprite kit 制作的游戏制作开始屏幕的地步。我无法让它与我阅读和观看的任何代码和教程一起显示。</p>

<p>我想使用导航 Controller / ViewController 从开始屏幕开始并将其链接到我的应用,但我不知道如何将我的游戏代码链接到 ViewController 。</p>

<p>使用导航 Controller ,我如何将它作为@IBAction 声明拖到我的游戏代码中?谢谢。</p>

<p>用当前代码编辑:</p>

<p>ViewController.m:</p>

<pre><code>@implementation ViewController

- (void)viewDidLoad
{
;

SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;

SKScene * scene = ;
scene.scaleMode = SKSceneScaleModeAspectFill;

scene.viewController = self;

;
}
</code></pre>

<p>MyScene.h:</p>

<pre><code>@interface MyScene : SKScene &lt;SKPhysicsContactDelegate&gt;

@property (strong, nonatomic) UIViewController *viewController;

@end
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>此答案基于 <a href="https://stackoverflow.com/a/27056327/2043580" rel="noreferrer noopener nofollow">here</a> ,但已被翻译成 Objective-C。</p>

<p>您面临的问题是 SKScene 不能直接访问它的 viewController,而只能访问它所在的 View 。您需要手动创建指向它的指针。这可以通过为 SKScene 创建一个属性来完成:</p>

<pre><code>@interface GameScene : SKScene

@property (strong, nonatomic) UIViewController *viewController;

@end
</code></pre>

<p>然后,在 viewController 类中,就在 <code>;</code></p> 之前

<pre><code>scene.viewController = self;
</code></pre>

<p>现在,您可以直接访问 viewController。只需在这个 viewController 上调用 segue:</p>

<pre><code>-(void)goToHomeScreen {
    ;
}
</code></pre>

<p>您可以以类似的方式执行其他 navigationController 操作。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用导航 Controller 作为开始屏幕 ios,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/27096991/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/27096991/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用导航 Controller 作为开始屏幕 ios