Ios AdWhirl的第一个iAd请求总是在iPad上返回一个肖像广告
我正在使用AdWhirl在我的应用程序中显示iAd和AdMob广告。在iPad上,当处于横向时,我创建了一个1024宽的AdWhirlView,但返回的第一个iAd总是一个纵向宽度的广告(768)。如果我将iPad旋转到纵向,然后再旋转回横向,则广告在整个横向中正确显示1024宽 为什么景观广告不能在不需要轮换的情况下开始呢Ios AdWhirl的第一个iAd请求总是在iPad上返回一个肖像广告,ios,ipad,iad,adwhirl,Ios,Ipad,Iad,Adwhirl,我正在使用AdWhirl在我的应用程序中显示iAd和AdMob广告。在iPad上,当处于横向时,我创建了一个1024宽的AdWhirlView,但返回的第一个iAd总是一个纵向宽度的广告(768)。如果我将iPad旋转到纵向,然后再旋转回横向,则广告在整个横向中正确显示1024宽 为什么景观广告不能在不需要轮换的情况下开始呢 - (void) setupAdWhirl { if (self.adWhirlView == nil) { CGFloat adWhirlHeig
- (void) setupAdWhirl {
if (self.adWhirlView == nil) {
CGFloat adWhirlHeight = 90.0;
CGSize size = self.rootViewController.view.bounds.size;
NSLog(@"rootVC.bounds=%@", NSStringFromCGRect(self.rootViewController.view.bounds));
AdWhirlView *adWhirl = [AdWhirlView requestAdWhirlViewWithDelegate:self];
adWhirl.frame = CGRectMake(0, size.height - adWhirlHeight, size.width, adWhirlHeight);
adWhirl.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin;
NSLog(@"adWhirl.frame=%@", NSStringFromCGRect(adWhirl.frame));
[self.rootViewController.view addSubview:adWhirl];
self.adWhirlView = adWhirl;
}
}
这两条日志语句输出以下内容:
rootVC.bounds={{0, 0}, {1024, 748}}
adWhirl.frame={{0, 658}, {1024, 90}}
所以我最初在adWhirlView上设置的框架是1024宽90高。然而,当它加载第一个iAd时,它的大小将调整为768宽。我不知道是否有一种“正确”的方法来实现这一点,但我入侵了AdWhirl源代码,并设法使其按预期工作 在iAd适配器,-getAd方法中,在创建ADBannerView之后,我添加了以下代码:
iAdView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
iAdView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
// Added lines below
if (self.adWhirlView.bounds.size.width > self.adWhirlView.bounds.size.height) {
iAdView.currentContentSizeIdentifier = kADBannerContentSizeIdentifierLandscape;
}
else {
iAdView.currentContentSizeIdentifier = kADBannerContentSizeIdentifierPortrait;
}