我的子视图不会从SuperView Xcode7 Swift中删除

时间:2016-01-28 22:36:51

标签: ios swift uibutton

我的游戏有一个调用另一个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")

}

1 个答案:

答案 0 :(得分:0)

geoip {
  database => "/usr/local/share/GeoIP/GeoLiteCity.dat" ### Change me to location of GeoLiteCity.dat file
    source => "dst_ip"
    target => "dst_geoip"
    fields => [ "ip", "country_code2", "country_name", "latitude", "longitude","location" ]
    add_field => [ "coordinates", "%{[dst_geoip][latitude]},%{[geoip][longitude]}" ]
    add_field => [ "dst_country", "%{[dst_geoip][country_code2]}"]
    add_field => [ "flow_dir", "outbound" ]
}

这是我添加按钮的代码副本。所以它通过前几次工作,但是在时间3或4时它们不会被移除。 游戏中的所有我的按钮都添加完全相同的