iAd横幅视图委托不调用方法
我有一个iAd的横幅视图,所有我的合同和运行,我已经实现了ADBannerView
委托。 横幅应该消失,没有互联网连接,但只显示内容应该是白色的框。 我知道我拥有所有的代码,我已经看过一百万个教程。 所以我跑了一些testing,发现横幅视图甚至没有调用委托的两种方法! 这是代码。
在.h文件中:
#import <iAd/iAd.h> @interface DetailViewController : ADBannerViewDelegate> { ADBannerView *aBanner; BOOL bannerIsVisible; } @property (nonatomic, retain) IBOutlet ADBannerView *aBanner; @property (nonatomic, assign) BOOL bannerIsVisible; @end
在.m文件中:
@implementation DetailViewController @synthesize aBanner,bannerIsVisible; //Show banner if can load ad. -(void)bannerViewDidLoadAd:(ADBannerView *)banner { if (!self.bannerIsVisible) { [UIView beginAnimations:@"animateAdBannerOn" context:NULL]; banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height); [UIView commitAnimations]; self.bannerIsVisible = YES; } } //Hide banner if can't load ad. -(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { if (self.bannerIsVisible) { [UIView beginAnimations:@"animateAdBannerOff" context:NULL]; banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height); [UIView commitAnimations]; self.bannerIsVisible = NO; } }
您必须将横幅委托设置为文件所有者。 我遇到了同样的问题,在撞墙之后,事情就这么简单。
使用下面显示的代码来声明你自己的委托
-(void)viewDidLoad { aBanner.delegate = self; }