我有一个使用UITabBar的应用。每个选项卡在其视图底部显示一个iAd。
当我第一次访问标签时,iAd显示效果很好。当我切换回已经加载的标签时,iAd会正确显示一秒钟,然后变为白色。它仍然在角落里显示iAd,你仍然可以点击它,但横幅本身就消失了。
我只是使用Interface Builder中的iAd组件在我的应用中嵌入了iAd。这是怎么回事?
这发生在实际设备和模拟器上。所有都在运行iOS 8 +。
修改:我应该提一下,如果收不到广告,我会隐藏横幅广告。这是一个不同的问题。
答案 0 :(得分:0)
如果没有加载任何内容,您必须告诉用户界面删除横幅:
#pragma mark - iAd support
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
if (!bannerIsVisible)
{
// If banner isn't part of view hierarchy, add it
if (adBanner.superview == nil)
{
[self.view addSubview:adBanner];
}
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
[UIView commitAnimations];
bannerIsVisible = YES;
}
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"Failed to retrieve ad");
//Move the ad off screen
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
adBanner.frame = CGRectOffset(adBanner.frame, 0, adBanner.frame.size.height);
[UIView commitAnimations];
//Hide it anyway
bannerIsVisible = NO;
}
此外,您可以进入模拟器或设备中的开发人员设置,并将iAd填充率更改为100%以进行调试。