[英]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.