objective-c - iAd 横幅 View 委托(delegate)未调用方法

标签 objective-c ios iad

我有一个 iAd 横幅 View ,我的所有契约(Contract)都已启动并正在运行,并且我已经实现了 ADBannerView代表。横幅应该在没有互联网连接的情况下消失,但它只是在内容应该存在的地方显示一个白框。我知道我的所有代码都是正确的,我已经看过一百万个关于此的教程。所以我进行了一些测试,发现横幅 View 甚至没有为委托(delegate)调用这两种方法!这是代码。

在 .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; }
    }

最佳答案

您必须将横幅委托(delegate)设置为文件所有者。我有同样的问题,在把头撞到墙上之后,就这么简单。

关于objective-c - iAd 横幅 View 委托(delegate)未调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963972/

相关文章:

objective-c - MKMapView 和 viewDidLoad/viewWillAppear/viewDidAppear 使用 Storyboard

ios - CoreData 一对多关系与值比较

ios - Xcode运行按钮消失

ios - iAd 横幅占用不必要的空间

swift - IAd 横幅广告摇动屏幕

ios - iPhone同时声音输出

objective-c - '(' token 之前的预期标识符或 '.'

objective-c - 无法加载 xcode 项目,因为它已从另一个项目或工作区打开

ios - 自定义标记性能 iOS,崩溃,结果为 "((null)) was false: Reached the max number of texture atlases, can not allocate more."

iphone - iAd didFailToReceiveAdWithError 总是调用