【问题标题】:SKScene did not draw Scene after presenting a Picker/BrowserSKScene 在呈现选择器/浏览器后未绘制场景
【发布时间】:2014-03-06 12:10:58
【问题描述】:

我有一个 ViewController,我在其中展示我的 SKScene。所以在我展示 SKScene 之前,我使用 ViewController 中的 UIImagePickerController 来拍照并在

-imagePickerController:didFinishPickingMediaWithInfo:

当 UIImagePickerController 关闭时,我开始呈现场景并对其进行初始化:

[self dismissViewControllerAnimated:NO completion:nil];
    SKView * skView = (SKView *)self.view;
    skView.showsFPS = NO;
    skView.showsNodeCount = NO;

    // Create and configure the scene.
    MultiplayerScene * scene = [[MultiplayerScene alloc]initWithSize:self.view.frame.size andPicture:self.imageView];
    scene.scaleMode = SKSceneScaleModeAspectFill;
    // Present the scene.

    // --This works also just on the Simulator and not on Physical Device
    [scene setBackgroundColor:[UIColor redColor]];
    // --
    [skView presentScene:scene]; 

所以,模拟器中发生的事情似乎可以正常工作,我的图像显示在屏幕上,但在物理设备上,选择器关闭,我只看到灰色背景。

我已经尝试了 2 天来解决此问题,但实际上我认为问题在于 SKScene 不是第一响应者或不会正确初始化,但是当我在物理设备上调试时,图片是正确的。 任何类型的选取器/浏览器都会产生相同的问题。 在 GrayBackground(SKScene 的默认颜色)上,触摸事件正在工作 我能在这里做些什么来正确处理它?

最好的 康斯坦丁

已解决 今天我将我的 Xcode 更新到 5.1,然后一切正常(头部与桌子相遇)...
感谢 Mc.Lover 的明确回答!

【问题讨论】:

    标签: ios objective-c ios7 sprite-kit skscene


    【解决方案1】:

    做这样的事情:

    - (void)myMethod {
    
        MultiplayerScene * scene = [[MultiplayerScene alloc]initWithSize:self.view.frame.size andPicture:self.imageView];
        scene.scaleMode = SKSceneScaleModeAspectFill;
    
        [skView presentScene:scene]; 
    }
    
    [self dismissViewControllerAnimated:NO completion: ^ {[self myMethod]; }];
    

    希望这会有所帮助!

    【讨论】:

    • 你好,麦克情人!感谢您的快速回答,我尝试完成但没有帮助:-(我必须添加到我的问题中,灰色背景上的触摸事件将起作用!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多