gpt4 book ai didi

ios - 我的 subview 没有从 SuperView Xcode7 Swift 中删除

转载 作者:行者123 更新时间:2023-11-30 13:44:58 25 4
gpt4 key购买 nike

我有一个游戏,它有一个调用另一个 SKScene 的函数。这个 SKScene 是我的 gameOver 场景。该游戏结束场景有一个 UIButton,并且该 UIButton 链接到一个函数,该函数删除该场景中的所有 UIButton,然后再次调用常规游戏场景。如果我运行它大约 3 或 4 次,按钮将被移除,游戏将毫无问题地重新开始。然而,在第四次或第五次玩时,一旦我按下再次玩按钮,按钮就会保留在屏幕上,而游戏处于常规游戏屏幕类别并且没有任何功能。这里发生了什么,因为该函数肯定被调用,因为我在函数中打印了一些内容。有人可以帮忙解决这个问题吗?

    func playAgainAction(sender: UIControlEvents){
removeGameOverButtons()
let reveal : SKTransition = SKTransition.crossFadeWithDuration(0.5)
let scene = GameScene(size: self.view!.bounds.size)
scene.scaleMode = .AspectFill
self.view?.presentScene(scene, transition: reveal)
}

func removeGameOverButtons(){
self.playAgainButton.removeFromSuperview()
self.noAdsButton.removeFromSuperview()
self.rateButton.removeFromSuperview()
self.shareButton.removeFromSuperview()
self.leaderboardsButton.removeFromSuperview()
self.watchAdsButton.removeFromSuperview()
print("There should be no reason that there labels are not being removed")

}

最佳答案

   self.rateButton = UIButton(type: UIButtonType.Custom)
self.rateButton.setImage(rateButtonImage, forState: .Normal)
self.rateButton.frame = CGRectMake(self.frame.size.width*3/4 - 26, self.frame.height*3/5 - 95 - 95, 110,75)
self.rateButton.layer.anchorPoint = CGPointMake(1.0, 1.0)
self.rateButton.layer.zPosition = 0
//Attach an action to the play again button
self.rateButton.addTarget(self, action: "noAdsAction:", forControlEvents: UIControlEvents.TouchUpInside)
delay(0.5){
view.addSubview(self.rateButton)
}

这是我添加按钮的代码副本。所以它在前几次有效,但是在第 3 或第 4 次时它们不会被删除。游戏结束时我的所有按钮都以完全相同的方式添加

关于ios - 我的 subview 没有从 SuperView Xcode7 Swift 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35073489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com