iAds无法显示时会留下白色块

时间:2011-10-14 11:41:46

标签: iphone iad

自从更新到iOS 5后,我遇到了iAds的问题。我发现当广告无法显示时,它会显示iAd通常所在的大块白色块。有没有办法解决这个问题?我尝试设置iAd的背景颜色以匹配我的UIView的背景颜色,但这不起作用。

2 个答案:

答案 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;
     

}

     

}

     

即使在向您的代理发送错误后,横幅视图仍会继续尝试下载新的广告。因此,实现这两种委托方法只允许应用程序在加载广告时显示横幅。

希望这有助于你