我想在屏幕底部显示iAd Banner View。另外,我想在第一个bannerViewDidLoadAd
和bannerView:didFailToReceiveAdWithError
方法调用之前隐藏它,并在任何进一步的bannerViewDidLoadAd
方法调用之后将其恢复。实现这种行为的正确方法是什么?
这是我尝试过的:
通过XCode中的界面构建器将iAd Banner View添加到视图控制器,并选择视图控制器作为此视图的委托
将以下功能添加到视图控制器的实现中 - https://gist.github.com/ellneal/1082499
将对此方法的调用添加到bannerViewDidLoadAd
和bannerView:didFailToReceiveAdWithError
:
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
[self showBannerView:banner animated:YES];
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
[self hideBannerView:banner animated:YES];
}
在这种情况下,我在调用bannerViewDidLoadAd方法之前看到一个空白屏幕而不是广告,并且当再次建立连接时iAd横幅视图不再出现(我认为它是因为{{1方法调用)。我该如何解决?也许有更正确的方法来实现这种行为?
提前致谢。
答案 0 :(得分:1)
如果可能,您应该考虑在视图控制器上使用setCanDisplayAds:
。请参阅Apple's documentation。
导入iAd并在根视图控制器或您希望在底部显示广告的内容视图控制器上设置属性。