我在我的iPhone应用程序中集成iAd时遇到了问题--当广告横幅扩展时很好(请参见http://www.clingmarks.com/iAd1.png和http://www.clingmarks.com/iAd2.png),但是,当我关闭它时,它会留下一个白色的空白屏幕(请参见http://www.clingmarks.com/iAd3.png)。我想不出为什么。这是我如何集成广告的方式:
因为我需要支持较低版本的iPhone操作系统的其他广告,所以我在应用程序顶部添加了一个容器视图,其视图控制器是AdViewController。当视图加载时,我通过编程方式创建AdBannerView,并将其作为子视图添加到AdViewController.view中。以下是viewDidLoad方法中的代码:
以下是委托方法:
因为我需要支持较低版本的iPhone操作系统的其他广告,所以我在应用程序顶部添加了一个容器视图,其视图控制器是AdViewController。当视图加载时,我通过编程方式创建AdBannerView,并将其作为子视图添加到AdViewController.view中。以下是viewDidLoad方法中的代码:
Class adClass = (NSClassFromString(@"ADBannerView"));
if (adClass != nil) {
iAdView = [[ADBannerView alloc] initWithFrame:CGRectZero];
iAdView.frame = CGRectOffset(iAdView.frame, 0, -50);
iAdView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];
iAdView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
iAdView.delegate = self;
iadViewIsVisible = NO;
[self.view addSubview:iAdView];
} else {
// init google adsense
}
以下是委托方法:
enter code here
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
if (!iadViewIsVisible) {
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
// banner is invisible now and moved out of the screen on 50 px
banner.frame = CGRectOffset(banner.frame, 0, 50);
[UIView commitAnimations];
iadViewIsVisible = YES;
}
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
if (iadViewIsVisible) {
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
// banner is visible and we move it out of the screen, due to connection issue
banner.frame = CGRectOffset(banner.frame, 0, -50);
[UIView commitAnimations];
iadViewIsVisible = NO;
}
}