Swift iAd间隙触摸激活场景按钮。敏捷的

Swift iAd间隙触摸激活场景按钮。敏捷的,swift,iad,Swift,Iad,我在SpriteKit的GameOverScene中实现了iAd中间层。由于某种原因,当间隙弹出时,如果我触摸到按钮所在的位置,我仍然能够听到按钮的咔嗒声。如果用户无意中触摸此按钮并关闭间隙,则场景将变为黑色,我将无法再看到游戏。到底有没有办法解决这个问题 这是我的密码 class GameOverScene: SKScene, ADInterstitialAdDelegate{ var interstitialAd:ADInterstitialAd! var interstitialAdVi

我在SpriteKit的GameOverScene中实现了iAd中间层。由于某种原因,当间隙弹出时,如果我触摸到按钮所在的位置,我仍然能够听到按钮的咔嗒声。如果用户无意中触摸此按钮并关闭间隙,则场景将变为黑色,我将无法再看到游戏。到底有没有办法解决这个问题

这是我的密码

class GameOverScene: SKScene, ADInterstitialAdDelegate{

var interstitialAd:ADInterstitialAd!
var interstitialAdView: UIView = UIView()
var closeButton = UIButton.buttonWithType(UIButtonType.System) as UIButton
var adBannerView = ADBannerView(frame: CGRect.zeroRect)

func loadInterstitialAd() {
    interstitialAd = ADInterstitialAd()
    interstitialAd.delegate = self
    scene?.paused = true
}

func interstitialAdWillLoad(interstitialAd: ADInterstitialAd!) {

}

func interstitialAdDidLoad(interstitialAd: ADInterstitialAd!) {
    closeButton.frame = CGRectMake(10, 10, 20, 20)
    closeButton.layer.cornerRadius = 10
    closeButton.setTitle("x", forState: .Normal)
    closeButton.setTitleColor(UIColor.blackColor(), forState: .Normal)
    closeButton.backgroundColor = UIColor.whiteColor()
    closeButton.layer.borderColor = UIColor.blackColor().CGColor
    closeButton.layer.borderWidth = 1
    closeButton.addTarget(self, action: "close:", forControlEvents: UIControlEvents.TouchDown)

    interstitialAdView.addSubview(closeButton)

    interstitialAdView = UIView()
    interstitialAdView.frame = self.view!.bounds
    view!.addSubview(interstitialAdView)

    interstitialAd.presentInView(interstitialAdView)
    UIViewController.prepareInterstitialAds()
    println("called after inter ad loads its content ")
}

func interstitialAdActionDidFinish(interstitialAd: ADInterstitialAd!) {

    interstitialAdView.removeFromSuperview()
}

func interstitialAdActionShouldBegin(interstitialAd: ADInterstitialAd!, willLeaveApplication willLeave: Bool) -> Bool {

    return true
}

func interstitialAd(interstitialAd: ADInterstitialAd!, didFailWithError error: NSError!) {
    println("failed to receive")
    println(error.localizedDescription)

    closeButton.removeFromSuperview()
    interstitialAdView.removeFromSuperview()

}

func interstitialAdDidUnload(interstitialAd: ADInterstitialAd!) {
    interstitialAdView.removeFromSuperview()
    println("user clicked out of ad")
}

override init(size: CGSize) {
    super.init(size: size)
    loadInterstitialAd()
}

尝试UIControlEvents.TouchUpInside与TouchDown 控件中的触摸事件,其中手指位于控件的边界内