簡體   English   中英

iAd ADBannerView更改SKScene的大小

[英]iAd ADBannerView changes the size of SKScene

我覺得我到處都看過了,無法弄清楚。 我正在嘗試在菜單屏幕的底部顯示橫幅廣告,如下所示:

在此處輸入圖片說明

但是,當我顯示“游戲結束”屏幕(上面也有廣告)后,主菜單如下所示:

在此處輸入圖片說明

任何幫助將不勝感激。 我使用NSNotificationCenter調用廣告, GameOver SKScene調用presentScene返回主菜單。 我認為這與該調用中的幀大小有關,但我不知道如何解決。

在我的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
}

在SpriteKit的“開始”場景中:

override func didMoveToView(view: SKView) {
    //code
    NSNotificationCenter.defaultCenter().postNotificationName("showiAdBanner", object: nil)
}

最后,我為自己的情況找到了解決方案。 我只是加載了一個不同的SKScene ,稍等片刻,然后打電話給我的另一個。 這樣,菜單始終看起來相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM