Swift 预加载纹理地图集完成处理程序不工作

Swift 预加载纹理地图集完成处理程序不工作,swift,uiimageview,texture-atlas,Swift,Uiimageview,Texture Atlas,我有一个UIImageView供用户查看(看起来几乎像一个启动屏幕),这样我就可以预加载我的纹理地图集 但似乎在完成块中,即使我说“removefromsuperview”,它也不会这样做 我知道纹理已经加载完毕,因为如果我点击屏幕,UIImageView就会消失,我的游戏也会开始,但它不会因为某种奇怪的原因自行消失 这是我的GameViewController中的viewDidLoad: //Configure the View let skView = view as! SKView

我有一个UIImageView供用户查看(看起来几乎像一个启动屏幕),这样我就可以预加载我的纹理地图集

但似乎在完成块中,即使我说“removefromsuperview”,它也不会这样做

我知道纹理已经加载完毕,因为如果我点击屏幕,UIImageView就会消失,我的游戏也会开始,但它不会因为某种奇怪的原因自行消失

这是我的GameViewController中的viewDidLoad:

//Configure the View
    let skView = view as! SKView

    skView.multipleTouchEnabled = false
    self.view.exclusiveTouch = false

    //Create and Configure the scene
    scene = GameScene(size: skView.bounds.size)

    scene.scaleMode = .AspectFill

    //Load "SPLASH SCREEN"
    let image: UIImage = UIImage(named: "ViewControllerImage")!
    GameViewController.splashView = UIImageView(image: image)
    GameViewController.splashView!.frame = CGRectMake(0,0,self.view.bounds.width,self.view.bounds.height)
    self.view.addSubview(GameViewController.splashView!)




SKTextureAtlas.preloadTextureAtlases([GameViewController.diploTextureAtlas,GameViewController.bieberTextureAtlas,GameViewController.skrillexTextureAtlas,GameViewController.sunTextureAtlas], withCompletionHandler: { () -> Void in

        print("Completo")
        GameViewController.splashView?.removeFromSuperview()
        skView.presentScene(self.scene)

    })
请尝试以下代码:

//Configure the View
    let skView = view as! SKView

    skView.multipleTouchEnabled = false
    self.view.exclusiveTouch = false

    //Create and Configure the scene
    scene = GameScene(size: skView.bounds.size)

    scene.scaleMode = .AspectFill

    //Load "SPLASH SCREEN"
    let image: UIImage = UIImage(named: "ViewControllerImage")!
    GameViewController.splashView = UIImageView(image: image)
    GameViewController.splashView.tag = 666
    GameViewController.splashView!.frame = CGRectMake(0,0,self.view.bounds.width,self.view.bounds.height)
    self.view.addSubview(GameViewController.splashView!)




SKTextureAtlas.preloadTextureAtlases([GameViewController.diploTextureAtlas,GameViewController.bieberTextureAtlas,GameViewController.skrillexTextureAtlas,GameViewController.sunTextureAtlas], withCompletionHandler: { () -> Void in

        print("Completo")
        for view in self.view!.subviews {
            if view.tag == 666 {
               view.removeFromSuperview()
            }
        }
        skView.presentScene(self.scene)

    })
您还可以使用以下工具更改“循环”:

if let viewWithTag = self.view.viewWithTag(666) {
        viewWithTag.removeFromSuperview()
}

啊,不,这似乎不起作用。为了从屏幕上删除启动视图,出于某些原因,我仍然需要点击屏幕,因为某些原因,加载纹理后它不会消失。当我点击以摆脱闪屏时,这也会启动我的游戏,就好像闪屏在我的游戏场景中一样。很奇怪