每次点击屏幕时都会调用NSNotification

时间:2015-08-21 22:11:34

标签: ios swift nsnotificationcenter nsnotifications

我的游戏我发送了一个NSNotification,用于在游戏过程中隐藏横幅广告,并在主菜单和场景上显示横幅广告。这项工作正常,除了某些原因我每次点击屏幕时都会调用隐藏广告的通知并且广告消失。以下是在GameViewController中设置通知的代码:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "showBanner:", name: "showAdBanner", object: nil)

NSNotificationCenter.defaultCenter().addObserver(self, selector: "hideBanner:", name: "hideAdBanner", object: nil)

然后是两个功能:

func showBanner(notification: NSNotification){

        self.googleBannerView.hidden = false
        var request: GADRequest = GADRequest()
        self.googleBannerView.loadRequest(request)
        println("show banner")

}

func hideBanner(notification: NSNotification){

        self.googleBannerView.hidden = true
        println("hide banner")

}

在主菜单场景和场景游戏中:

NSNotificationCenter.defaultCenter().postNotificationName("showAdBanner", object: nil)

然后在游戏场景中:

NSNotificationCenter.defaultCenter().postNotificationName("hideAdBanner", object:nil)

很奇怪为什么当我点击主菜单场景中的屏幕和屏幕上的游戏时,广告横幅消失。有任何想法吗?我真的需要帮助,这是阻止我发布游戏的唯一方法。先感谢您。

-Vinny

2 个答案:

答案 0 :(得分:0)

当您展示横幅时,您需要通过横幅框架缩小游戏场景。

  

在iOS中,SCNView是UIView的子类

所以只需调整SCNView的大小,以便同时适应屏幕......

答案 1 :(得分:0)

好的,我修好了。我所做的就是更改发布通知的位置。当我按下播放并再次尝试按钮时,我将其更改为隐藏。非常感谢大家的帮助! -Vinny