iAd在运行时的位置有时会有所不同

时间:2015-03-20 13:11:46

标签: ios iphone swift iad landscape

我有一个我在故事板中创建的iAd横幅,我添加了这四个约束:(高度:50,宽度:320,容器中的水平中心,以及视图顶部的10个)。有时当我运行应用程序时,iAd横幅位于我放置的位置,有时它只是随机出现在屏幕的底部。我的应用仅限于景观,如果它与它有关。我做错了什么?

import UIKit
import AVFoundation
import iAd

class ViewController: UIViewController, ADBannerViewDelegate {

    @IBOutlet weak var adBanner: ADBannerView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // Set ad banner settings
        self.canDisplayBannerAds = true
        self.adBanner?.delegate = self
        self.adBanner?.hidden = true
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func bannerViewWillLoadAd(banner: ADBannerView!) {
        self.adBanner?.hidden = true
    }

    func bannerViewDidLoadAd(banner: ADBannerView!) {
        self.adBanner?.hidden = false
    }

    func bannerViewActionDidFinish(banner: ADBannerView!) {

    }

    func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
        return true
    }

    func bannerView(banner: ADBannerView!, didFailToRecieveAdWithError error: NSError!) {
        self.adBanner?.hidden = true  
    }
}

1 个答案:

答案 0 :(得分:0)

self.canDisplayBannerAds = true正在创建出现在屏幕底部的横幅。 self.canDisplayBannerAds = true可用于在应用程序中实现iAd横幅的无麻烦方式。这将为您创建ADBannerView,并根据其是否从iAd网络收到广告来显示或隐藏ADBannerView。您需要从self.canDisplayBannerAds = true中删除viewDidLoad()。在故事板中创建ADBannerView时,这不是必需的。