[英]My subViews are not being removed from SuperView Xcode7 Swift
我有一个游戏,该游戏具有调用另一个SKScene的功能。 这SKScene是我的gameOver场景。 这个游戏场景有一个UIButton,UIButton链接到一个函数,该函数删除该场景中的所有UIButton,然后再次调用常规游戏场景。 如果我运行了3或4次,则按钮将被删除,游戏将重新开始,不会出现任何问题。 但是在第4或第5场比赛中,一旦我按了“再次播放”按钮,则当游戏处于常规游戏屏幕类别中时,这些按钮将停留在屏幕上,并且没有任何功能。 这是怎么回事,因为肯定是因为我在函数中打印了某些内容而调用了该函数。 有人可以帮助解决这个问题。
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不会被删除。 游戏上所有“我的按钮”的添加完全相同
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.