这是我第一次整合iAds的体验。我使用了以下链接
http://codewithchris.com/iad-tutorial/
我完美地实现了它。我的应用程序显示AddBannerView完美但广告隐藏并显示无法正常工作。我通过使用storyboard添加adBannerView并连接其代理和IBOutlets。
-(void)bannerViewDidLoadAd:(ADBannerView *)banner {
if (! bannerIsVisible) {
// If banner isn't part of view hierarchy, add it
if (advertiseView.superview == nil) {
[self.view addSubview:advertiseView];
}
[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];
bannerIsVisible = YES;
}
}
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
NSLog(@"Failed to retrieve ad");
if (bannerIsVisible) {
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
// Assumes the banner view is placed at the bottom of the screen.
banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height);
[UIView commitAnimations];
bannerIsVisible = NO;
}
}
答案 0 :(得分:0)
您遵循的教程已过时。您的ADBannerView
在一段时间内处于视图中间的原因是因为CGRectOffset
的{{1}}委托方法中的ADBannerView
。我猜你的问题bannerIsVisible
BOOL
。
另外,请勿使用beginAnimations:context:
方法。来自UIView Class Reference:
在iOS 4.0及更高版本中不鼓励使用此方法。你应该用 基于块的动画方法来指定你的动画。
以下是如何以编程方式实现ADBannerView
的示例。此示例为alpha
的{{1}}属性设置动画以显示或隐藏它。也没有必要设置ADBannerView
的框架。它将知道它所在的设备和适当的尺寸。设置它的位置就足够了。
ADBannerView