自从更新到iOS 5后,我遇到了iAds的问题。我发现当广告无法显示时,它会显示iAd通常所在的大块白色块。有没有办法解决这个问题?我尝试设置iAd的背景颜色以匹配我的UIView的背景颜色,但这不起作用。
答案 0 :(得分:2)
非常古老的问题因此会被拍下来回答,但我在需要答案时找到了这个帖子。我从那里找到答案,并认为我应该发布,因为其他人偶然发现了这个帖子。
在IB中,bannerView具有背景颜色。将其设置为与背景相同的颜色:-) 如果做的话可能是清晰的颜色还要记住将横幅视图启动为隐藏。因此它仅在显示视图时出现。如果它开始被取消隐藏,那么它将尝试加载广告失败然后消失。这就是你获得白色空间的原因。隐藏在IB或viewdidload方法中的隐藏
答案 1 :(得分:1)
我认为您应该移动屏幕横幅,如下例所示here
错误处理
如果发生错误,横幅视图将调用委托的bannerView:didFailToReceiveAdWithError:方法。发生这种情况时,您的应用程序必须隐藏横幅视图。清单2-3显示了实现此方法的一种方法。它使用与清单2-2相同的属性来跟踪横幅是否可见。如果横幅可见并且发生错误,则会将横幅移出屏幕。
清单2-3当广告不可用时删除横幅视图
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
if(self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
//假设横幅视图位于屏幕底部。
banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height); [UIView commitAnimations]; self.bannerIsVisible = NO;
}
}
即使在向您的代理发送错误后,横幅视图仍会继续尝试下载新的广告。因此,实现这两种委托方法只允许应用程序在加载广告时显示横幅。
希望这有助于你