I feel like I've looked everywhere and I can't figure it out. I'm trying to show a banner ad at the bottom of my menu screen like so:
But after I display my "game over" screen (which also has an ad on it) The main menu looks like this:
Any help would be greatly appreciated. I call the ads by using the NSNotificationCenter
and the GameOver
SKScene calls presentScene
to get back to the Main Menu. I assume it has something to do with frame size in that call, but I do not know how to fix it.
Inside my GameViewController:
override func viewDidLoad() {
//code
loadAds()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "showiAdBanner", name: "showiAdBanner", object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "hideiAdBanner", name: "hideiAdBanner", object: nil)
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
adBannerView.hidden = false
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
adBannerView.hidden = true
}
func loadAds(){
adBannerView = ADBannerView(frame: CGRect.zeroRect)
adBannerView.center = CGPoint(x: adBannerView.center.x, y: view.bounds.size.height - adBannerView.frame.size.height / 2)
adBannerView.delegate = self
adBannerView.hidden = true
adBannerView.layer.zPosition = 10
view.addSubview(adBannerView)
}
func showiAdBanner() {
if adBannerView.bannerLoaded {
adBannerView.hidden = false
}
}
func hideiAdBanner() {
adBannerView.hidden = true
}
Inside SpriteKit "Start" Scene:
override func didMoveToView(view: SKView) {
//code
NSNotificationCenter.defaultCenter().postNotificationName("showiAdBanner", object: nil)
}
I ended up figuring out a solution for my situation. I simply have a different SKScene
load up, wait a second, then calls my other one. This way, the menu always looks the same.