我尝试将iAd集成到我的应用程序中。
我有一个类SwitchViewController(:UIViewController)来处理所有的 自定义ViewControllers&我在这个应用程序中的观点。
在最高atIndex处添加如下视图时,出现错误:
ADBannerView: WARNING A banner view has an ad but may be obscured
但是,如果我不插入所有其他子视图 - iAd工作正常。我能看到它,但是 当然所有其他观点都已消失。
任何想法?
通过以下方式添加子视图:
ADBannerView *tmpBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
self.adView_iPad = tmpBannerView;
self.adView_iPad.frame = CGRectMake(0, 0, self.adView_iPad.frame.size.width, self.adView_iPad.frame.size.height);
self.adView_iPad.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
self.adView_iPad.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
self.adView_iPad.delegate = self;
[self.view insertSubview:self.adView_iPad atIndex:100];
答案 0 :(得分:0)
您始终希望确保ADBannerView是层次结构中最顶层的视图,以避免出现此警告。如果任何视图与其重叠,即使它具有透明度,您也会收到此警告。
你可以简单地做这样的事情。
ADBannerView *adView = <create the view>;
[superView addSubview:adView];
[superView bringSubviewToFront:adView];
更新:
设置视图大小时,最好查询类的大小。
+ (CGSize)sizeFromBannerContentSizeIdentifier:(NSString *)contentSizeIdentifier
这将返回您应该使用的高度和宽度。所以设置框架如下:
CGSize size = [ADBannerView sizeFromBannerContentSizeIdentifier: ADBannerContentSizeIdentifierPortrait];
self.adView_iPad.frame = CGRectMake(0, 0, size.width, size.height);