防止 iAd 转移其他视图

Prevent iAd from shifting other views

我的应用程序中有一个 iAd 横幅,但有时(通常是当 iAd 出错时)它会向上移动我的其他视图。是否可以让横幅视图与我的其他视图重叠而不是干扰它们?

override func viewDidLoad() {
    Banner.hidden = true
    Banner.delegate = self
    self.canDisplayBannerAds = true
}


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

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    NSLog("Error")
    Banner.hidden = true
}

func bannerViewWillLoadAd(banner: ADBannerView!) {

}

func bannerViewDidLoadAd(banner: ADBannerView!) {
    Banner.hidden = false
}

不清楚您是从 单例 手动添加 iAD 横幅还是仅使用内置的 快捷方式 self.canDisplayBannerAds = true . 如果将两者混合在一起,您可能会得到奇怪的结果。

尝试删除 self.canDisplayBannerAds = true 并手动将横幅视图添加到您的视图层次结构中。

this 小例子可能会有帮助。

当您选择 快捷方式 解决方案 self.canDisplayBannerAds = true 时,您的视图层次结构将嵌入到包含横幅的更大视图中,并按照您的描述自动设置动画。在这种情况下,您不需要遵循和实现委托方法。