這可能不是最好的辦法,但它可能是最簡單的。只要您希望顯示或隱藏您的橫幅,您就可以使用NSNotification
向您的ViewController
廣播消息。
例如,如果你在init
或viewDidLoad
在ViewController
增加一個「觀察者」:
NSNotificationCenter.defaultCenter().addObserver(
self,
selector: "hideBannerAd",
name: "hideAd",
object: nil)
爲了使ViewController
聽一個叫"hideAd"
消息,然後執行被稱爲hideBannerAd
方法。
然後實現此方法:
func hideBannerAd(){
self.adView.hidden = true
}
一定要去除deinit
觀察者,這是不是可能是什麼在SpriteKit
一個ViewController
的持久性的問題,但它是很好的做法。
deinit{
NSNotificationCenter.defaultCenter().removeObserver(self)
}
然後,當你想顯示或隱藏的觀點,例如在場景轉換或遊戲結束的方法,你可以通過觸發使用觀察者實現這個hideBannerAd
方法:
NSNotificationCenter.defaultCenter().postNotificationName("hideAd", object: nil)
而且橫幅應該隱藏。這可以通過將hidden
屬性設置爲false
來重複類似的showBannerAd
方法,或者您可以使用一個簡單的方法使用adView.hidden = !adView.hidden
切換隱藏屬性。
我希望這會有所幫助。