我正在使用故事板,我已将iAd横幅添加到我的视图中。我没有显示横幅的问题,但在横幅显示之前它有一个看起来很奇怪的白色背景。
如何才能保留原始背景,如果没有投放广告而不是白色背景?
我找了很多代码和教程,所有这些都没有解决这个问题。任何想法?
答案 0 :(得分:1)
如果在负责展示广告的viewController
中,您采用了代理ADBannerViewDelegate
,则有一种方法会在广告加载时通知您,并准备好显示。
- bannerViewDidLoadAd:
您可以隐藏广告或将其从视图中删除,一旦您收到广告已准备好的通知,请将其重新添加回视图。
修改强> 这是来自Apple:
广告加载时的响应
iAd框架让它变得简单 采用异步模型,只显示一个广告 可用。您的应用程序永远不应显示空横幅视图。 相反,它应该在广告可用时显示横幅 当没有任何东西可以显示时,隐藏横幅。
当横幅视图显示新广告时,它会调用 delegate的bannerViewDidLoadAd:方法。即使调用此方法 横幅视图当前不是视图层次结构的一部分。您的 应用程序可以使用此方法将视图添加到视图层次结构或 在屏幕上移动横幅视图。 “Banner View Sizes”使用属性 跟踪横幅视图是否可见。如果横幅不是 可见并且加载了新广告,该方法为动画制作动画 查看屏幕。
清单2-2新广告后的横幅视图中的动画 装载
- (void)bannerViewDidLoadAd:(ADBannerView *)banner { if (!self.bannerIsVisible) { [UIView beginAnimations:@"animateAdBannerOn" context:NULL]; // Assumes the banner view is just off the bottom of the screen. banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height); [UIView commitAnimations]; self.bannerIsVisible = YES; } }