iAd ADBannerView改变了SKScene的大小

时间:2015-05-27 02:53:51

标签: ios swift iad

我觉得我到处都是,我无法弄明白。我试图在菜单屏幕的底部显示横幅广告,如下所示:

enter image description here

但在我显示"游戏结束后#34;屏幕(也有广告)主菜单如下所示:

enter image description here

非常感谢任何帮助。我使用NSNotificationCenterGameOver 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)
}

1 个答案:

答案 0 :(得分:0)

我最终找到了适合我情况的解决方案。我只是有一个不同的SKScene加载,等一下,然后调用我的另一个。这样,菜单看起来总是一样。