在 swift & spritekit 中横向显示 iAd 横幅

Display an iAd banner in landscape in swift & spritekit

首先,我花了几个小时查看堆栈溢出,none 个类似的主题对我尝试做的事情有用。

我有 iads 显示,但是它的大小与 iad 的大小相同,可以在纵向模式下显示,不知何故我需要一个适用于横向的,这是我拥有的代码,我已经更改了数字并弄乱了代码,但它对我不起作用。

这段代码在我的游戏视图控制器中:

    var SH = UIScreen.mainScreen().bounds.height
let transition = SKTransition.fadeWithDuration(1)
var UIiAd: ADBannerView = ADBannerView()

override func viewWillAppear(animated: Bool) {
    var BV = UIiAd.bounds.height

    UIiAd.delegate = self
    UIiAd.frame = CGRectMake(0, SH + BV, 0, 0)
    self.view.addSubview(UIiAd)
}

override func viewWillDisappear(animated: Bool) {
    UIiAd.delegate = nil
    UIiAd.removeFromSuperview()
}

func bannerViewDidLoadAd(banner: ADBannerView!) {

    var BV = UIiAd.bounds.height
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(0) // Time it takes the animation to complete
    UIiAd.alpha = 1 // Fade in the animation
    UIView.commitAnimations()
}

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(0)
    UIiAd.alpha = 0
    UIView.commitAnimations()
}

func showBannerAd() {
    UIiAd.hidden = false
    var BV = UIiAd.bounds.height
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(0) // Time it takes the animation to complete
    UIiAd.frame = CGRectMake(0, SH - BV, 0, 0) // End position of the animation

    UIView.commitAnimations()
}

func hideBannerAd() {
    UIiAd.hidden = true
    var BV = UIiAd.bounds.height

    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(0) // Time it takes the animation to complete
    UIiAd.frame = CGRectMake(0, SH + BV, 0, 0) // End position of the animation
    UIView.commitAnimations()
}

我已附上屏幕截图以显示我遇到的问题,如果有人能提供帮助那就太好了!

iad landscape problem

谢谢。

试试这个,告诉我它是否有效。

  let screenBounds: CGRect = UIScreen.mainScreen().bounds

        var adBannerView: ADBannerView  
        adBannerView = ADBannerView(frame: CGRectMake(0, 0, 50, screenBounds.width))
        adBannerView.center = CGPoint(x: screenBounds.width/2, y: screenBounds.height-adBannerView.frame.height)
        adBannerView.delegate = self
        adBannerView.hidden = true
        view.addSubview(adBannerView)